我有一個正則表達式的一個簡單的問題是推動我瘋了:簡單的regex找到兩個詞
sentence="Dr. Peter is a great man. Dr. med. Lumpert Mercury is a great man."
for m in re.finditer("(Dr\.|med\.)\s([A-Z][a-z]+)", sentence):
print '%02d-%02d: %s' % (m.start(), m.end(), m.group(2))
此代碼給了我一個字符串「博士」之後所有的字或「med。」如果這個詞以大寫開頭。 現在我需要輸出字符串後的兩個單詞。只有當他們以資本開始時,他們纔會再次。我嘗試了一些東西,如:
for m in re.finditer("(Dr\.|med\.)\s(([A-Z][a-z]+)|([A-Z][a-z]+)\s([A-Z][a-z]+))", sentence):
print '%02d-%02d: %s' % (m.start(), m.end(), m.group(2, 3))
你看我是怎麼打結的。我怎樣才能達到「Lumpert水星」,而且「彼得」?
現在我需要兩個,一個字或兩個字後「博士」和「med。」。
我需要得到 「Peter」和「Lumpert Mercury」。
謝謝,這工作。我編輯了一下,所以我可以添加更多的字符串。謝謝! – 2014-10-08 18:20:06