txtファイルを扱うre.searchを取得することに若干の問題があります。私の.txtファイルには、 "Python 2.7 - PyCharmを使って書かれた"という文字列をファイルに書き込む小さなコードがあります。これは正しく動作します。次に、正規表現を使用して、 "Written"という単語がファイルに存在することを確認します。ここでPython 2.7 - txtファイル内のre.searchが正しく機能しない
は私のコードです:RETURN_VALUEを印刷した後
FileOpen = open("default.txt", "r")
FileRead = FileOpen.read()
return_value = re.search(r"\bWritten\b", FileRead)
print return_value
それは希望の単語を見つけて、実行時に検索失敗出力しない:私は、コードの同じ部分をしようとした場合
None
を変数に割り当てられた単純な文字列では、re.searchを使用して一致が正常に検出されます。i:
string1 = "The fox jumped over the fence"
re.search(r"\bjumped over\b", string1)
実行::時に、この出力になり
sre.SRE_Match object...
しかし、すぐに私は常に「なし」で失敗しているようだ.txtファイルの内容を読んでこのre.search()をしようとして始めると。もし誰かが私がどこに間違っていたのか教えてくれれば大いに感謝します。ありがとう。
'print repr(FileRead)'とは何ですか? (慣例では、大文字で始まる名前はクラスです。変数には 'snake_case'を使用してください) – Ryan
ヒントありがとう、新しいモジュールを作って同じコードを試してみました。問題は、このコードの直上で、私は別のfile.readを直接呼び出すことでした。一度これを削除すると、私の質問に表示されたコードを使用して一致が見つかりました。私はそれが開いて読書のためにすでに開いていたファイルを読んで、問題を引き起こそうとしていたと思います。私の理論が正規表現の失敗を引き起こした理由について正しいのであれば、同意すれば私はこれを答えに加えることができます。 – user3417643
検索される文字列の内容を二重にチェックする方法は、 'return_value.string'を参照することです。 – gregory