【发布时间】:2016-10-31 12:53:16
【问题描述】:
我有一个很大的文本字符串,用 init 有几个块看起来非常相似;
text = '\n\n(d)In the event of this happens a Fee
of \xc2\xa32,000 gross, on each such occasion.\n\n'
使用下面的代码我可以找到钱的所有实例:
import re
re.finall('\xa3(.*)', text)
但这只会返回到逗号 In the event of this happens a Fee of \xc2\xa32,000 gross 而不是整个块,我希望返回提到英镑 \xa3 的 Unicode 的块
【问题讨论】:
-
为什么不只是
'\n\n(.*)\n\n' -
@PatrickHaugh 不会返回文本字符串中的每个文本块吗?我希望将其与
'\xa3(.*)' -
\n\n(.*\xa3.*)\n\n -
有趣的是,如果双
\ns 之间只有 1 行,\n\n(.*\xa3.*)\n\n将起作用。分隔符之间可以有 2 行(即一个换行符)吗?这是在上面示例中Fee之后的换行符吗?如果是,丹尼尔的正则表达式won't work. -
@DanielLee 正如建议的那样,它仅适用于双 \n 之间的 1 行,在整个文档中,分隔符之间可以有 2 或 3 个换行符