我正在尝试使用消极和积极的前瞻来捕捉某个区域的文字,但我正在努力。我不确定这是否是最好的方法。
这是我使用正则表达式的确切文字:Gold Coast area Partly cloudy.
我是通过网络抓取获得的,而且是#34; Partly cloudy
"文字每天都在变化,所以我无法使用正则表达式来搜索那些确切的单词。
我想找回#34;派对多云"介于" Gold Coast area
" " Partly cloudy
"。
非常感谢你的帮助。
答案 0 :(得分:0)
如果您知道某个字符串始终以Gold Coast area
开头并以句号结尾,则可以在不使用正则表达式的情况下截断该字符串:
s = 'Gold Coast area Partly cloudy.'
new_s = s[16:-1]
print(new_s) # prints 'Partly cloudy'
答案 1 :(得分:0)
试试这个:
/([A-Za-z ]+?) area ([A-Za-z ]+)\./
它捕获第一个捕获组中的区域,捕获第二个捕获组的天气。如果您只对黄金海岸地区感兴趣,那么将第一个捕获组替换为硬编码的" Gold Coast"字符串。
作为概念证明:
import re
arr = ["Gold Coast area Partly cloudy.", "Gold Coast area clear skies.", "Some other area overcast."]
for s in arr:
match = re.match(r"([A-Za-z ]+?) area ([A-Za-z ]+)\.", s)
if match:
print(match.group(1)+": "+match.group(2))
输出:
Gold Coast: Partly cloudy
Gold Coast: clear skies
Some other: overcast