【问题标题】:Python regex groups with multiple possible values具有多个可能值的 Python 正则表达式组
【发布时间】:2023-03-05 00:00:01
【问题描述】:

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

【问题讨论】:

    标签: python regex python-2.x


    【解决方案1】:

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

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

    请注意,findall() 的行为会根据您的正则表达式中有多少捕获组而变化。如果没有捕获组,则结果中的每个元素都是整个匹配,如果有一个捕获组,每个元素将是该组匹配的任何内容,如果有多个组,每个元素将是组匹配的元组.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-25
      • 2017-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-21
      相关资源
      最近更新 更多