正则表达式 - 使用CategorizedPlaintextCorpusReader查找单词的第n个实例

时间:2016-12-09 15:17:57

标签: python regex nltk corpus

我有一份报纸语料库作为原始文本文件,我希望能够将这些报纸从它们中拉出来。大多数社论都是在所有大写字母“EDITORIAL”的第3个实例之后开始,并以页脚“sfbg”结尾。

我的想法是使用python的正则表达式来提取这些社论。我正在使用CategorizedPlaintextCorpusReader。

我自己尝试过查找CategorizedPlaintextCorpusReader的方法列表,但我已经空了。

1 个答案:

答案 0 :(得分:1)

好吧,在“EDITORIAL”字样的第3个实例之后和结束分隔符'sfbg'之前找到文本的正则表达式是:

(.*?EDITORIAL){3}(?<content>.*?)sfbg

这是组成部分:

(.*?EDITORIAL){3} - 通过使用非贪婪(更安全 - 避免匹配过于变异)通配符.*?并将整个组乘以{{来查找第三次使用“EDITORIAL”一词的所有内容1}}。

{3} - 命名匹配组“内容”。这是你想要的比赛,它只是匹配直到....

(?<content>.*?) - 结尾分隔符。

regex101 demo