好的,所以我在python中有这个小的正则表达式程序
#!/usr/bin/python
import re
string = "val1=1 val2=2 val3=234"
valfinder = re.compile('val\d=(?P<values>\d)')
vals = valfinder.search(string)
print(vals.group('values'))
打印出来1.
它与所有其他值匹配的方式是什么?
我该如何访问它们?
答案 0 :(得分:1)
使用findall()
获取匹配项列表作为字符串,或使用finditer()
获取匹配对象的迭代器,例如:
>>> valfinder.findall(string)
['1', '2', '2']
>>> for match in valfinder.finditer(string):
... print match.group('values')
...
1
2
2
请注意,findall()
的行为会根据正则表达式中的捕获组数量而发生变化。如果没有捕获组,则结果中的每个元素都是整个匹配,如果有一个捕获组,则每个元素将是该组匹配的任何组件,如果有多个组,则每个元素将是组匹配的元组