gpt4 book ai didi

python - 在正则表达式模式中查找可能组的名称

转载 作者:行者123 更新时间:2023-12-01 05:28:54 25 4
gpt4 key购买 nike

让我们考虑字符串 r"(?P<DEF_FUNC>def (?P<NAME_FUNC>\w+)\s*\((.*?)\):)|(?P<OTHERS>\w+)"稍后用于定义模式。

我想在这个字符串中找到用于从正则表达式的角度定义组的名称。在这里,这个名字是 DEF_FUNC , NAME_FUNCOTHERS .

如何通过处理转义问题来实现这一目标?

最佳答案

您可以在 groupindex 字典中找到它们(请参阅文档 here ):

>>> import re
>>> rstr = r"(?P<DEF_FUNC>def (?P<NAME_FUNC>\w+)\s*\((.*?)\):)|(?P<OTHERS>\w+)"
>>> regex = re.compile(rstr)
>>> regex.groupindex
{'DEF_FUNC': 1, 'OTHERS': 4, 'NAME_FUNC': 2}

如果您希望它们按值顺序排列,请执行通常的技巧:

>>> sorted(regex.groupindex, key=regex.groupindex.get)
['DEF_FUNC', 'NAME_FUNC', 'OTHERS']

关于python - 在正则表达式模式中查找可能组的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20764291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com