我想在多行字符串中匹配整行(这段代码是检查正确输出格式的单元测试的一部分)。在Python 3.5.2 (default, Nov 12 2018, 13:43:14)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> re.match(r".*score = 0\.59.*", r"score = 0.65\nscore = 0.59\nscore = 1.0", re.MULTILINE)
这很好,我可以匹配多行字符串中的任何内容。不过,我想确保我匹配整个生产线。文档说当使用re.MULTILINE时,^和{}应该匹配行的开头和结尾。然而,这在某种程度上对我不起作用:
^{pr2}$
下面是我做的几个实验:>>> import os
>>> re.match(r".*^score = 0\.59$.*", "score = 0.65{}score = 0.59{}score = 1.0".format(os.linesep, os.linesep), re.MULTILINE)
>>>
>>> re.match(r".*^score = 0\.65$.*", "score = 0.65{}score = 0.59{}score = 1.0".format(os.linesep, os.linesep), re.MULTILINE)
>>> re.match(r".*^score = 0\.65$.*", r"score = 0.65\nscore = 0.59\nscore = 1.0", re.MULTILINE)
>>>
我想我错过了一些很简单的东西,但我想不出来。在