文本文件输出的语法形式为word> data <word
,其中需要删除括号。该data
部分几乎可以是任何东西(并且长度可变),包括新行、空格、点、字母等。目前我正在使用...
text = re.sub("(>)(.{1,10})(<)", r"\2", text)
...但它有明显的局限性,1 是长度。不使用的原因*
是因为有一些限制,即:
>
或<
不能出现在比赛中dog> 7 4^ 8 0 . 2 1 6? <cat
&exam> 1961 5 . 66 9 <ple
不应匹配,而test> 0? <string
或over> 1980 31, 6 000 <flow
微细且括号应除去如何接近?
由于在对问题进行一次编辑后,没有回答者添加到他们的答案中,因此我不得不发布另一个问题来回答该部分并实际完成正则表达式。
最后,我使用的最终代码是这样的:
text = re.sub(r">((?!(?:[^<]*\b\d\b){2})[^><]*)<", r"\1", text)
它只允许 1 个个位数的数字并且匹配中没有括号,否则会捕获其他任何内容。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句