我遇到麻煩匹配字符串與正則表達式(我沒有經驗與正則表達式)。我有一個字符串,其中包含每個單詞和標籤後面的正斜槓。舉個例子:正則表達式單詞中的單詞與全阻
led/O by/O Timothy/PERSON R./PERSON Geithner/PERSON ,/O the/O president/O of/O the/O New/ORGANIZATION
在這些字符串,我只是在這之前/PERSON
所有字符串感興趣。下面是我想出了正則表達式模式:
(\w)*\/PERSON
而且我的代碼:
match = re.findall(r'(\w)*\/PERSON', string)
基本上,我匹配/PERSON
之前出現的單詞。輸出:
>>> reg
['Timothy', '', 'Geithner']
我的問題是,第二場比賽,匹配到一個空字符串作爲R./PERSON
,點不是單詞字符。我改變了我的正則表達式來:
match = re.findall(r'(\w|.*?)\/PERSON', string)
但比賽現在是:
['led/O by/O Timothy', ' R.', ' Geithner']
這是第一個/人,其中包括led/O by/O
,而不是隻匹配Timothy
之前採取一切。有人可以幫助我如何做這個匹配,而包括一個完整的中止作爲一個縮寫?或者至少,沒有一個空字符串匹配?
感謝,