我想在Python 2.7.2中使用正則表達式從字符串中提取所有出現的標記詞。或者乾脆,我想提取[p][/p]
標籤中的每一段文字。 這裏是我的嘗試:Python正則表達式findall
regex = ur"[\u005B1P\u005D.+?\u005B\u002FP\u005D]+?"
line = "President [P] Barack Obama [/P] met Microsoft founder [P] Bill Gates [/P], yesterday."
person = re.findall(pattern, line)
印刷person
產生['President [P]', '[/P]', '[P] Bill Gates [/P]']
什麼是正確的正則表達式來獲得:['[P] Barack Obama [/P]', '[P] Bill Gates [/p]']
或['Barrack Obama', 'Bill Gates']
。
謝謝。 :)
我真的很喜歡這個答案。如果你只想處理匹配,那麼這樣做不需要像1)保存列表,2)處理列表不等於str = blah洗碗機' ##這裏re.findall()返回所有找到的電子郵件字符串列表 emails = re.findall(r'[\ w \ .-] + @ [\ w \ .-] +', str)## ['[email protected]','bob @ abc。com'] 用於電子郵件中的電子郵件: #對每個找到的電子郵件字符串做一些操作 打印電子郵件 – kkron