我想從文本文件中找到一個單詞,然後使用python中的正則表達式在該行上打印下一個單詞。從文本文件中找到單詞並使用正則表達式打印部分行
例如: 我的名字是xyz。 我喜歡科學。 我喜歡打排球。
這是文本文件,我想查找單詞「play」並顯示下一個單詞「volleyball」。
我該如何爲它寫正則表達式?在您的正則
我想從文本文件中找到一個單詞,然後使用python中的正則表達式在該行上打印下一個單詞。從文本文件中找到單詞並使用正則表達式打印部分行
例如: 我的名字是xyz。 我喜歡科學。 我喜歡打排球。
這是文本文件,我想查找單詞「play」並顯示下一個單詞「volleyball」。
我該如何爲它寫正則表達式?在您的正則
使用回顧後發現下一個詞,
import regex
f=open("/path/to/the/file")
f=f.readlines()
for line in f:
m = regex.search(r'(?<=play)\S+', line)
print m.group()
輸出:
volleyball.
Python是否支持可變長度lookebhind? – 2014-09-01 11:02:37
不會支持,但正則表達式。 – 2014-09-01 11:03:36
會''s +'和/或添加'\ b'([word邊界](http://www.regular-expressions.info/wordboundaries.html)),因爲它也會匹配'playground' =>'ground' ,但從問題不明確:) – 2014-09-01 11:10:10
(?=(.*?play))\1\s*(\w+)
這將工作。
使用
print pattern.match(x).group(2)
觀看演示。
你可以請你把這個問題的嘗試? – Jerry 2014-09-01 10:50:06
你不需要這樣的正則表達式。 – Maroun 2014-09-01 10:50:09