Terms inside single quotes: (?s)'(\\\\|\\[0-7]+|\\.|[^'\\])*'
Terms inside double quotes: (?s)"(\\\\|\\[0-7]+|\\.|[^"\\])*"
Finds (not content seperated by them though) * / + - / < > <= >= % = /=
: (\*\*|\*|\+|-|\/|<|>|<=|>=|==|\/=|=|%)
Finds True
or False
(and uncapitalized): (true|false|True|False)
Finds eq ne lt le gt ge not and or eqv neqv
: (eq|ne|lt|le|gt|ge|not|and|or|eqv|neqv)
finds < > <= >= == || | && ^ & << >>
: (&&|\|\||<=|>=|>>|<<|<|>|==|\/=|=|\||\^|&)
Finds (not other content though) ( ) [ ] , : & % ; . ! ?
: [()\[\],:&%;.!?]
Integers: \d+(?![.e])(_[a-z]\w+)?
Floats (with or without prefix): [+-]?\d*\.\d+([ed][-+]?\d+)?(_[a-z]\w+)?
Floats w/prefix (number before .): [+-]?\d+\.\d*([ed][-+]?\d+)?(_[a-z]\w+)?