"eaardf((eaar)" 我这样做了,但我无法做出正确的正则表达式: import -6ren">
gpt4 book ai didi

python - 删除未闭合的括号

转载 作者:行者123 更新时间:2023-11-28 18:38:41 25 4
gpt4 key购买 nike

如何在关闭 block 后删除未关闭的括号及其内容。例如:

"(eaardf((eaar)(eaar" -> "eaardf((eaar)"

我这样做了,但我无法做出正确的正则表达式:

import re
str1 = '(eaardf((eaar)(eaar'
p = re.compile(r'\([a-z)]*.*')
p.sub('', str1)
>>> ''

请帮忙!

最佳答案

简短回答:您不能使用 Python 正则表达式。

对此 link 中已经给出了非常详细的解释由道文的评论给出

中等答案:标准的 re 模块无法处理递归模式,但 Pypi 中有一个模块声称能够:regex 2015.03.18 : 支持递归和重复模式。 - 小心未经测试,因为当事情变得太复杂时,我更喜欢最终通过 PLY 构建专用解析器这是旧的 lex+yacc 的 Python 实现。

关于python - 删除未闭合的括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29731531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com