【发布时间】:2013-11-02 03:40:35
【问题描述】:
这个问题是关于匹配以前在python中定义的组......但它并不那么简单。
这是我要匹配的文本:
Figure 1: Converting degraded weaponry to research materials.
Converting degraded weaponry to research
materials.
这是我的正则表达式:
(Figure )(\d)(\d)?(: )(?P<description>.+)(\n\n)(?P=description)
现在,我目前的问题是正则表达式无法匹配文本,因为在第三行的“research”之后出现了换行符。我希望 python 在将前一个组与我的字符串匹配时忽略换行符。
【问题讨论】:
-
这不是标准正则表达式中的东西,据我所知。试试 Python 的模糊匹配。
-
我相信您可以使用
re.MULTILINE完成此任务。看看这是否有帮助:stackoverflow.com/questions/587345/… -
不幸的是,仅仅启用 re.MULTILINE 并没有帮助。
-
@Hoopdady 不,re.MULTILINE 只会导致
^和$锚点匹配每行的开头和结尾,而不是仅匹配字符串的开头和结尾。 docs.python.org/2/library/re.html#module-contents -
您必须事先以某种方式将文本规范化,才能使这种匹配起作用。一种可能性是
textwrap。