如何在选择特定字符串后打印上一个字符串 python

how to print previous string after selecting specific string python

我想找到出现在关键字(由我指定和搜索)之前的单词并打印出结果。我尝试了下面的代码,但它给了我之前的话...

    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

您可以使用正向预测,使用 findall 而不是 search:

>>> p = re.compile(r'(\w+)\s+(?=display)')
>>> p.findall(str)
['better', 'average']

您可以使用积极的先行断言?=:

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表示一个单词字符。