我有一个正则表达式的一个简单的问题是推动我疯了:简单的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