如何在选择特定字符串后打印上一个字符串 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
表示一个单词字符。
我想找到出现在关键字(由我指定和搜索)之前的单词并打印出结果。我尝试了下面的代码,但它给了我之前的话...
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
表示一个单词字符。