Python 如何获取名为捕获组的正则表达式的名称?

Python 如何获取名为捕获组的正则表达式的名称?,python,regex,text,python-3.x,Python,Regex,Text,Python 3.x,我试图在Python中运行一个正则表达式,比如:?p\S+,我想获取捕获组头的名称及其匹配值 我有许多不同的头,所以它必须是通用的和代码 例如,如果我有?p[regex1]和?p[regex2],我希望通过编程获取key1和key2。获取匹配的所有详细信息,包括组本身的名称: >>> match = re.match("(?P<letter>A)", "A") >>> match.groupdict() {'letter': 'A'} 要获取匹配

我试图在Python中运行一个正则表达式,比如:?p\S+,我想获取捕获组头的名称及其匹配值

我有许多不同的头,所以它必须是通用的和代码


例如,如果我有?p[regex1]和?p[regex2],我希望通过编程获取key1和key2。

获取匹配的所有详细信息,包括组本身的名称:

>>> match = re.match("(?P<letter>A)", "A")
>>> match.groupdict()
{'letter': 'A'}

要获取匹配的所有详细信息,包括组本身的名称,请执行以下操作:

>>> match = re.match("(?P<letter>A)", "A")
>>> match.groupdict()
{'letter': 'A'}

我在问是否有一个选项可以获取命名的捕获组?是的,我的代码示例没有回答这个问题吗?这是两种获取命名捕获组内容的方法…它不采样。我想要的是命名的捕获组,而不是它的内容。例如,我想从regex pattren中获取单词“字母”,这样我就可以得到内容。@OshikawaL在这种情况下,使用匹配的groupdict方法。@OshikawaL:请参见我的编辑。哦,邓肯也注意到了。但是,为什么您不知道刚刚执行的正则表达式中的组的名称呢?我想问的是,是否有获取命名捕获组的选项?是的,我的代码示例没有回答这个问题吗?这是两种获取命名捕获组内容的方法…它不采样。我想要的是命名的捕获组,而不是它的内容。例如,我想从regex pattren中获取单词“字母”,这样我就可以得到内容。@OshikawaL在这种情况下,使用匹配的groupdict方法。@OshikawaL:请参见我的编辑。哦,邓肯也注意到了。但是为什么你不知道你刚才执行的正则表达式中的组的名称呢?