我一直在尝试从字符串中删除成对的括号(包括它们之间的文本)、不平衡的括号和引号。
到目前为止我所做的:
import re
sample_text = '""sads"add"sfsfdsfds()()(0sefdAAAsfs)dasdad(asd'
res = re.sub(r'\([^)]*\)', '', sample_text))
它仅与文本的 ()()(0sefdAAAsfs)
部分匹配。不平衡和引号留下了无与伦比的。可以做些什么来改进上述正则表达式?
答案 0 :(得分:0)
这不是正则表达式真正适合的东西,因此不是适合这项工作的工具。话虽如此,您可以使用以下模式来查看是否存在开头括号、零个或多个非括号以及匹配的结束括号:
\([^)+]*\)
替换 "
或 '
或 [
或其他类型的匹配组件。
但同样,这不适用于这样的事情:
(asdf))))))))
长话短说:这不是正则表达式能够解决的问题。尝试在此处进行测试:https://regex101.com/r/bdiK5W/2。