Я работаю с несколькими выражениями, которые выглядят так
C=>E
или A+B+C=>D
или A+B<=>C
и (F|G)+H=>E
. Я пытаюсь использовать re.split()
, чтобы разделить на =>
или <=>
. Кроме того, я хочу разделить 3 оператора + | ^
, не касаясь того, что находится внутри скобок.
Первая попытка, я пробовал это
re.split(r"<=>|=>", "A+B+C=>D")
но проблема в том, что он разбивает строку вроде A+B+C=>D
до
["A+B", "D"]
тогда как я пытаюсь достичь
["A+B", "=>", "D"]
, а также с проблемой, касающейся операторов, когда я пытаюсь разделить (A+B)|C=>D
следующим образом
re.split(r"\+|=>|<=>|\^|\|", "(A+B)|C=>D")
Я получаю
["(A", "B)", "C", "D"]
тогда как я пытаюсь достичь
["(A + B)", "|", "C", "=>", "D"]
Я не очень хорошо разбираюсь в регулярных выражениях, поэтому мне нужна помощь с, возможно, регулярным выражением, достаточно надежным, чтобы сделать это за один раз. Если это невозможно с регулярным выражением, по крайней мере, лучший способ сделать это.