本文介绍了Python RegExp全局标志的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
python中是否有一个标志或某些特殊键可以多次使用模式.我曾经测试过我的RegExp http://gskinner.com/RegExr/,它在其中可以正常工作.但是,在正确的环境匹配条件下进行测试时,只会返回 None .
Is there a flag or some special key in python to use pattern multiple times.I used to test http://gskinner.com/RegExr/ my RegExp, it worked correctly in it.But when testing in correct enviorment match only returns 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)
推荐答案
re.match
尝试匹配字符串开头的模式.您正在寻找re.search
,re.findall
或re.finditer
re.match
tries to match the pattern at the start of the string.You are looking for re.search
, re.findall
or re.finditer
这篇关于Python RegExp全局标志的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!