我想找到一个出现在关键字之前的单词(由我指定和搜索)并打印出结果。我试过下面的代码,但它给了我之前没有的话......
str = "Phone has better display, good speaker. Phone has average display"
p1 = re.search(r"(display>=?)(.*)", str)
if p1 is None:
return None
return p1.groups()
这段代码给了我
, good speaker. Phone has average display
但我只想要
better,average
答案 0 :(得分:2)
您可以使用findall
而不是search
使用正向前瞻:
>>> p = re.compile(r'(\w+)\s+(?=display)')
>>> p.findall(str)
['better', 'average']
答案 1 :(得分:0)
您可以使用正向前瞻断言?=
:
import re
str = "Phone has better display, good speaker. Phone has average display"
p1 = re.findall(r"(\w+)\s*(?=display)", str)
print(p1)
# ['better', 'average']
\w
表示单词字符。