私は正規表現を私のpythonプログラム(自然に文字列です)への引数として取り、それを別の文字列と単純に照合しようとしています。
私がそれを実行するとしましょう
python program.py 'Hi.there'
次に、その入力を取得して(入力と呼びます)、「HiTthere」に一致するかどうかを言うことができるようにしたいと思います(一致するはずです)。
どうすればいいですか?私は正規表現に不慣れです。
私の理解では、次のようなものを探しています。
import sys, re
regex = sys.argv[1]
someOtherString = 'hi there'
found = re.search(regex, someOtherString)
print('ok' if found else 'nope')
最初の引数として式を指定してこのプログラムを実行します。
> python test.py hi.th
ok
> python test.py blah
nope
たとえば、javascript とは異なり、python の正規表現は単純な文字列であるためsys.argv[1]
、 への引数として直接使用できますre.search
。
Python 3 構文 (Python 2、print xxx
の代わりに使用print(xxx)
):
import re
if re.match(r'^Hi.there$', 'HiTthere'): # returns a "match" object or None
print("matches")
else:
print("no match")
アンカーを使用していることに注意してください^
。$
これは、一致が入力全体に及ぶことを保証するためです。^
文字列の先頭と一致し、文字$
列の末尾と一致します。
詳細については、ドキュメントを参照してください。