たとえば、パターン「\section」がテキスト「abcd\sectiondefghi」に含まれているかどうかを知りたいとします。もちろん、私はこれを行うことができます:
import re
motif = r"\\section"
txt = r"abcd\sectiondefghi"
pattern = re.compile(motif)
print pattern.findall(txt)
それは私が欲しいものを私に与えるでしょう。ただし、新しいテキストで新しいパターンを見つけたいと思うたびに、コードを変更する必要があり、面倒です。したがって、次のように、より柔軟なものを書きたいと思います ( test.py
):
import re
import sys
motif = sys.argv[1]
txt = sys.argv[2]
pattern = re.compile(motif)
print pattern.findall(txt)
次に、次のようにターミナルで実行します。
python test.py \\section abcd\sectiondefghi
ただし、それは機能しません (私は を使用するのが嫌い\\\\section
です)。
それで、ユーザー入力(端末またはファイルから)をPythonの生の文字列に変換する方法はありますか?または、ユーザー入力から正規表現パターンのコンパイルを行うより良い方法はありますか?
どうもありがとうございました。