[英]Python regex does not match
import re
str2='hello: acb cross'
reg = re.compile('hello: (a*) cross')
m = reg.search(str2)
print m
if m:
nat= m.group(0)
print(nat)
在上面的代码片段中,我期望输出为“ hello:acb cross”,如果我执行group(1),则应该为“ acb”。 但是我什么也没得到。 print m返回None。 任何人都可以让我知道它不起作用的原因。
但是,如果我尝试这样的事情,它可以工作:
import re
str1 = "carter notes: dependent on stems"
r = re.compile('carter notes:(.*)stems')
m = r.search(str1)
if m:
lx = m.group(1)
#print(m.group(0))
print(lx)
a*
意味着“任何数量的a
的”。
.*
表示“任何数量(任何单个字符)”。
您的意思是“ a
,后跟任意数量的(任何单个字符)”; 那是a.*
。
尝试这个:
str2='hello: acb cross'
reg = re.compile('hello: (a.*?) cross')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.