Python 使用finder的正则表达式
我试图找出这个表达式:Python 使用finder的正则表达式,python,regex,Python,Regex,我试图找出这个表达式: p = re.compile ("[I need this]") for m in p.finditer('foo, I need this, more foo'): print m.start(), m.group() 我需要理解为什么我在第22次计数中得到“e” 并正确地重新编写。[]表示一个字符类,也就是说,在您的情况下,[我需要这个]将代表:匹配一个字符,该字符是I、n、e、d、t、h、I、s和(可能)空格中的一个。它相当于[Inedthis]。如果您想
p = re.compile ("[I need this]")
for m in p.finditer('foo, I need this, more foo'):
print m.start(), m.group()
我需要理解为什么我在第22次计数中得到“e”
并正确地重新编写。
[]
表示一个字符类,也就是说,在您的情况下,[我需要这个]将代表:匹配一个字符,该字符是I、n、e、d、t、h、I、s和(可能)空格中的一个。它相当于[Inedthis]
。如果您想匹配整个短语,请省略括号。如果还想匹配括号,请将其转义:\[I…\]
通过使用[]
,您正在搜索字符类[Idehinst]
,即字符集''I','d','e','h','I','n','s','t'
使用(…)
匹配括号内的任何正则表达式,并指示组的开始和结束
如果要搜索组:(我需要这个)
有关详细信息,请参见。您应该标记我需要的语言。我对括号有更好的理解。
>>> import re
>>> p = re.compile ("(I need this)")
>>> for m in p.finditer('foo, I need this, more foo'):
... print m.start(), m.group()
...
5 I need this