在Python中命名正则表达式组

时间:2013-08-08 23:45:59

标签: python regex

我遇到了rubular.com网站,他们的示例正则表达式是:

(?<month>\d{1,2})\/(?<day>\d{1,2})\/(?<year>\d{4})

其中的月,日和年包含在&lt; &GT;用该名称标记每个组。

我想知道是否有办法在Python中使用,因为我在文档中找不到它。

3 个答案:

答案 0 :(得分:2)

您可以使用(?P<group_name>...)执行此操作:

(?P<month>\d{1,2})\/(?P<day>\d{1,2})\/(?P<year>\d{4})

请参阅documentation

答案 1 :(得分:2)

要在Python中执行此操作,您可以在命名组前面添加字母“P”,如下所示:

import re

match = re.search('(?P<month>\d{1,2})\/(?P<day>\d{1,2})\/(?P<year>\d{4})', '01/02/2000')

print match.group('day')
print match.group('month')
print match.group('year')

documentation page for Regex没有清楚地突出显示它,但您正在寻找

部分
(?P<name>...)

答案 2 :(得分:0)

您可以使用:

(?P<month>\d{1,2})\/(?P<day>\d{1,2})\/(?P<year>\d{4})