2014-01-18 49 views
0

我想解析Python中的某些內容,其中有一個字符串,一個數字,然後是未確定數量的字符串。我希望能夠將所有剩餘的字符串(在這種情況下是「D e」)放入一個組中以供稍後處理。這是我的代碼:捕獲組中的多個單詞

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

我該怎麼做才能創建一組「D e」?

+2

示例文本將有助於得到一個準確的回答你的問題。 – MElliott

回答

1

該代碼缺失.。如果你想只提取了3組(.匹配除了換行符的任何字符)

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

,使用MatchObject.group

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

編輯由喬·劉易斯提出:

如果您只想接受第二組的數字,請使用以下正則表達式。 (\w - >\d

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