pythonで4単語以上の単語が連続して重複している箇所を抽出すると言うことをしたいのですが、正規表現を使って抽出することはできるのでしょうか。調べてみてもあらかじめ比べる文字が決まっている場合のみの例しか出てきません。自分で思いつく方法は文章をすべて単語に分けて総当たりする方法しか思いつきません。何かいい方法を知っている方がいたら教えてください。お願いします。
例えば例文1と2を比べる場合、
例文1
When hay is followed by a plural noun, the article is omitted. If we want to describe the quantity of the plural noun, we use a number after “hay” (as we saw in one of the previous examples). This application includes two hundred keywords with transcription, explanation, synonyms, and samples selected from the SAT vocabulary.
例文2
When hay is followed by a plural noun, the article is omitted. Under Study tools, you will find a pop-up grammar guide complete with examples. I am a party inside my head.
Today is sunny. I am a party inside my head.
この場合例文1と2で共通した、4単語以上が連続している部分を抜き出したいです。When hay is followed by a plural noun, the article is omitted.だけを抜き出したいです。
回答いただいた方法で試してみましたが、例文2にて重複する部分も抜き出されてしまいます。( I am a party inside my head.)
頂いた方法
python
1text=""" 2When hay is followed by a plural noun, the article is omitted. If we want to describe the quantity of the plural noun, we use a number after “hay” (as we saw in one of the previous examples). 3When hay is followed by a plural noun, the article is omitted. 4""" 5 6import re 7rex = re.compile(r"(\b\w+(?:\W+\w+){3,}\b).*\1",re.DOTALL) 8print(re.findall(rex, text))
回答2件
あなたの回答
tips
プレビュー