有一个字符串
Mary loves Mike,Jack loves Lily,Ethan loves Lydia
我想用python提取每个loves
周围的名称。但是下面的代码不能工作。
names = re.search(r'(S+) loves (S+)',str, )
while names:
print names.group(1)
print names.group(2)
>>> import re
>>> re.findall(r"([a-zA-Z]+) loves ([a-zA-Z]+)", "Mary loves Mike,Jack loves Lily,Ethan loves Lydia")
[('Mary', 'Mike'), ('Jack', 'Lily'), ('Ethan', 'Lydia')]
您可以使用w+来提取单词。而且由于您想提取所有匹配项,您可以使用find all.
str="Mary loves Mike,Jack loves Lily,Ethan loves Lydia";
names = re.findall("(w+) loves (w+)", str)
for name in names:
print name