Jay*_*Jay 6 python regex string
我有一个s嵌套括号的字符串:s = "AX(p>q)&E((-p)Ur)"
我想删除所有括号对之间的所有字符,并存储在一个新的字符串中,如下所示: new_string = AX&E
我试过这样做:
p = re.compile("\(.*?\)", re.DOTALL)
new_string = p.sub("", s)
Run Code Online (Sandbox Code Playgroud)
它给出了输出: AX&EUr)
有没有办法纠正这个问题,而不是迭代字符串中的每个元素?
另一个简单的选择是在每个阶段删除最里面的括号,直到没有更多的括号:
p = re.compile("\([^()]*\)")
count = 1
while count:
s, count = p.subn("", s)
Run Code Online (Sandbox Code Playgroud)
工作示例:http://ideone.com/WicDK
您可以使用字符串操作而无需正则表达式
>>> s = "AX(p>q)&E(qUr)"
>>> [ i.split("(")[0] for i in s.split(")") ]
['AX', '&E', '']
Run Code Online (Sandbox Code Playgroud)
我留给你加入琴弦.
| 归档时间: |
|
| 查看次数: |
1529 次 |
| 最近记录: |