初学蟒蛇问题。
我想学习简单的python语法来测试非空的Group捕获。
这个例子并不重要,我想要的是学会看非空捕获
我试过这个
subj = 'abc123 bbb22 cc'
rgx = re.compile(r'[a-z]+(\d+)?')
for match in re.finditer(rgx,subj):
print (match.group(1))
这样,两者为空而非空的第1组:123,22,无。
好。从这里,你能教我如何:
谢谢!
答案 0 :(得分:3)
您可以使用if match
检查匹配是否为空:
subj = 'abc123 bbb22 cc'
rgx = re.compile(r'[a-z]+(\d+)?')
for match in re.finditer(rgx,subj):
if match.group(1):
print (match.group(1))
或者,您可以这样做:
subj = 'abc123 bbb22 cc'
rgx = re.compile(r'[a-z]+(\d+)?')
result = [i for i in re.findall(rgx, subj) if i]
for match in result:
print (match)