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

2024-10-04 03:28:09 发布

您现在位置:Python中文网/ 问答频道 /正文

好的,我有一个用python编写的小regex程序

#!/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。
它与所有其他值匹配的方法是什么? 我如何访问它们?你知道吗


Tags: import程序restringbinusrvalregex
1条回答
网友
1楼 · 发布于 2024-10-04 03:28:09

使用^{}获取字符串形式的匹配列表,或者使用^{}获取匹配对象的迭代器,例如:

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

注意,findall()的行为根据regex中有多少捕获组而变化。如果没有捕获组,则结果中的每个元素都是整个匹配,如果有一个捕获组,则每个元素都是该组匹配的任何元素,如果有多个组,则每个元素都是组匹配的元组。你知道吗

相关问题 更多 >