我想在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