gpt4 book ai didi

python - 如何通过python删除大括号包围的 block

转载 作者:太空宇宙 更新时间:2023-11-04 11:05:01 26 4
gpt4 key购买 nike

示例文本:String -> rev 标签中的内容(通过 lxml)。

我正在尝试删除文本中的 {{BLOCKS}}。

我使用了以下正则表达式来删除简单的一行 block :

p = re.compile('\{\{*.*\}\}')
nonBracketedString = p.sub('', bracketedString)

但是,这不会删除内容开头的第一个多行括号部分。如何删除多行、大括号 block ?


编辑:

答案的解决方案:

p = re.compile('\{\{*?.*?\}\}', re.DOTALL)
nonBracketedString = p.sub('', bracketedString)

最佳答案

设置 dotall 标志。

p = re.compile('\{\{*.*?\}\}', re.DOTALL)
nonBracketedString = p.sub('', bracketedString)

在默认模式下,. 匹配除换行符之外的任何字符。如果指定了 DOTALL 标志,这将匹配任何字符,包括换行符。

http://docs.python.org/library/re.html

此外,您需要在括号之间进行非贪婪匹配:.*?

关于python - 如何通过python删除大括号包围的 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1956970/

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