2016-12-09 16 views
0

私は新聞のコーパスを生のテキストファイルとして持っており、私はその記事から推論を引き出すことができます。ほとんどの論説は、 "EDITORIAL"という言葉の3番目のインスタンスの後に始まり、すべての大文字で始まり、フッター "sfbg"で終わります。regex- CategorizedPlaintextCorpusReaderを使用して単語のn番目のインスタンスを検索する

私の考えは、これらの論説を抽出するためにpythonの正規表現を使用することです。私はCategorizedPlaintextCorpusReaderを使用しています。

自分でCategorizedPlaintextCorpusReaderのメソッドのリストを探してみましたが、空になってしまいました。

+0

'(。*?EDITORIAL){3}(。*?)は、あなたがしてください手の込んだでし – sweaver2112

+0

をsfbg'?私はまだ一般的にプログラミングするのがかなり新しいですし、私の構文が崩れているわけではありません。 –

答えて

1

だけでなく、 "ワードEDITORIALの第三インスタンスの後および終了の区切り文字 'SFBG' の前に" テキストを見つけるための正規表現は次のとおりです。

(.*?EDITORIAL){3}

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

ここconsituent部品です - 貪欲でない(より安全な - マッチを避ける)ワイルドカード.*?を使用し、グループ全体に{3}を掛けることによって、 "編集者"という単語の3番目の使用までのすべてを見つけます。

(?<content>.*?) - 名前の一致するグループ「コンテンツ」。これはあなたが望むマッチです、それは単にまでに一致します....

sfbg - 終わりの区切り文字。

regex101 demo

+0

そのコードは正規表現の方法になりますか? ex: 're.find(。*?EDITORIAL){3}(?。*?)sfbg'? –

+0

構文規則については、https://docs.python.org/2/library/re.htmlをご覧ください。 – sweaver2112

関連する問題