从文本文件中查找单词并使用正则表达式打印部分行

时间:2014-09-01 10:48:48

标签: python regex python-2.7 regex-lookarounds

我想从文本文件中找到一个单词,并使用python中的正则表达式在该行上打印下一个单词。

对于Ex:     我的名字是xyz。     我喜欢科学。     我喜欢打排球。

这是文本文件,我想找到“播放”这个词,然后显示下一个单词“排球”。

如何为它编写正则表达式?

2 个答案:

答案 0 :(得分:1)

在正则表达式中使用lookbehind来查找下一个单词

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.

答案 1 :(得分:0)

(?=(.*?play))\1\s*(\w+)

这样可行。

使用

print pattern.match(x).group(2)

参见演示。

http://regex101.com/r/rX0dM7/10