捕获组中的多个单词

时间:2014-01-18 07:55:11

标签: python regex

我正在尝试用Python解析一些东西,其中我有一个字符串,一个数字,然后是数字后未确定数量的字符串。我希望能够将所有剩余的字符串(在这种情况下" D e")放入一个组中以便稍后处理。这是我的代码:

m = re.match(r"(\w+) (\w+) (*)", "de 2166 D e")

我应该怎么做才能创建一组" D e"?

1 个答案:

答案 0 :(得分:1)

代码遗失.。 (.匹配除换行符之外的任何字符)

>>> m = re.match(r"(\w+) (\w+) (.*)", "de 2166 D e")
    #                           ^
>>> m.groups()
('de', '2166', 'D e')

如果您只想提取第3组,请使用MatchObject.group

>>> m.group(3)
'D e'

Joe Lewis建议

编辑

如果您只想接受第二组的数字,请使用以下正则表达式。 (\w - > \d

r"(\w+) (\d+) (.*)"
#         ^