繁体   English   中英

具有多个可能值的Python正则表达式组

[英]Python regex groups with multiple possible values

好的,所以我在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。
它与所有其他值匹配的方法是什么? 我将如何访问它们?

使用findall()以字符串形式获取匹配项列表,或使用finditer()来获取匹配对象的迭代器,例如:

>>> valfinder.findall(string)
['1', '2', '2']
>>> for match in valfinder.finditer(string):
...     print match.group('values')
...
1
2
2

注意, findall()的行为根据正则表达式中有多少个捕获组而变化。 如果没有捕获组,则结果中的每个元素都将是整个匹配项;如果存在一个捕获组,则每个元素将是与该组匹配的元素;如果存在多个捕获组,则每个元素将是该组匹配的元组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM