我试图在Python2.7.2中使用regex从字符串中提取所有出现的标记词。或者简单地说,我想提取[p][/p]
标记中的每一段文本。
以下是我的尝试:
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]']
正确的regex是什么:['[P] Barack Obama [/P]', '[P] Bill Gates [/p]']
或者['Barrack Obama', 'Bill Gates']
。
谢谢。:)
收益率
regex
ur"[\u005B1P\u005D.+?\u005B\u002FP\u005D]+?"
完全相同 unicode为u'[[1P].+?[/P]]+?'
,但较难读取。第一个括号中的组
[[1P]
告诉re列表中的任何字符['[', '1', 'P']
都应该匹配,类似于第二个括号中的组[/P]]
。这根本不是您想要的。所以P
前面的杂散1
。)[P]
中的文字括号,请使用 反斜杠:\[P\]
。.+?
。您的问题不是100%清楚,但我假设您希望找到标签中的每一段文本:
试试这个:
相关问题 更多 >
编程相关推荐