私は正規表現のパターンのリストを持っています。Pythonの正規表現。文字列からすべての一致を削除するには
rgx_list = ['pattern_1', 'pattern_2', 'pattern_3']
そして、私は正規表現のコンパイル、リストをループする機能を使用して、マッチした用語をつかむために、その後、私は削除の方法をご希望のfindall
を適用していますが、テキストから用語を言いました。
def clean_text(rgx_list, text):
matches = []
for r in rgx_list:
rgx = re.compile(r)
found_matches = re.findall(rgx, text)
matches.append(found_matches)
私は試合のすべてがテキストから削除されるようにtext.delete(matches)
ような何かをしたいと、私は清めテキストを返すことができます。
誰でもこれを行う方法を知っていますか?私の現在のコードは、各パターンの1つのマッチでのみ動作しますが、テキストはより多く、同じパターンの出現があります。私はすべてのマッチを排除したいと思います。
これらのマッチはまったく必要ですか?たぶん、テキストを最初に再読み込みするほうが簡単でしょうか?また、パターンの順序も重要です。あなたはあらかじめそれを見なければなりません。 –