如何在Python中使用regex通过括号分割列表中的值



我所说的按值拆分,假设列表有1个字符串值:mylist = ["3+4(5-3)-(9+4)"]

我想拆分这些值,使它们成为单独的字符串值,如:mylist = ["3+4", "(", 5-3", ")", "-", "(", "9-4", ")"]

到目前为止,我所附的下面的代码做了同样的事情,但在运算符之间进行了拆分,所以如果我输入["3+3"],它将输出

mylist = ["3", "+", "3"]

import re
mylist = input("Equation: ")
mylist = re.compile("(?<=d)([- + / *])(?=d)").split(mylist)

我只是想让它对括号做同样的事情,因为在参数中添加括号会干扰regex语法。

试试这个:

>>> import re
>>> r = re.compile("([()])")
>>> r.split("abc(def(ghi)jkl")
['abc', '(', 'def', '(', 'ghi', ')', 'jkl']
>>> 

正则表达式中的外括号导致分隔符保留为拆分列表的元素。

最新更新