spec_op = ['+', '-', '*', '/', '%', '(', ')', '[', ']', '{', '}', '**', '>', '<', '=>', '<=', '==']
Я пишу регулярное выражение для захвата этих операторов из поля вычисления.но =>
, <=
, ==
эти операторы не будут захвачены.
Я пробовал:
import re
a = '(0 if ((aa+cc)<=vv) else ((aa+cc-vv)*(cv/(100+cv)))) if (aa<=vv) else ((aa - vv)*(cv/(100+cv)))'
re.findall(r"[\+|-|\*|\/|=|>|<|(>=)|(<=)|&|\||%|!|\^|\(|\)]",a)
это дает:
['(',
'(',
'(',
'+',
')',
'<',
'=',
')',
'(',
'(',
'+',
')',
'*',
'(',
'/',
'(',
'+',
')',
')',
')',
')',
'(',
'<',
'=',
')',
'(',
'(',
')',
'*',
'(',
'/',
'(',
'+',
')',
')',
')']
Как можноя достигаю >=
и <=
в конечном результате с помощью регулярных выражений.