36

パターンを複数回使用するためのフラグまたはPythonの特別なキーはありますか。私はhttp://gskinner.com/RegExr/ my RegExpをテストしていましたが、正しく動作していました。しかし、正しい環境でテストすると、マッチはNoneのみを返します。

import re
pattern = r"(?P<date>--\d\d-\w+:\d\d)[ \t]+(?P<user>\w+)[ \t]+(?P<method>[\w ]+)[\" ]*    (?P<file>[\w\\:\.]+)@@(?P<version>[\w\\]+)[\" ]*(?P<labels>[\(\w, \.\)]+){0,1}[\s \"]*(?P<comment>[\w \.-]+){0,1}[\"]"
base = """
--02-21T11:22  user3   create version "W:\foo\bar\fooz.bat@@\main\1" (label1, label2,   label3, label22, label33, ...)

"merge in new bat-based fooz installer"

--02-21T11:22  user1   create version "W:\foo\bar\fooz.bat@@\main\0"

--02-21T11:22  user2   create branch "W:\foo\bar\fooz.bat@@\main\"

"merge in new bat-based fooz installer"

--02-13T11:22  user1   create version     "W:\foo\bar\fooz.bat@@\main\1"

  "Made to use new fooz.bat"

"""
r = re.match(pattern, base)
print(r)
4

2 に答える 2

64

re.match文字列の先頭にあるパターンとの一致を試みます。あなたが探しているre.searchre.findallまたはre.finditer

于 2012-07-27T11:33:06.097 に答える