1

私は正規表現を私のpythonプログラム(自然に文字列です)への引数として取り、それを別の文字列と単純に照合しようとしています。

私がそれを実行するとしましょう

python program.py 'Hi.there'

次に、その入力を取得して(入力と呼びます)、「HiTthere」に一致するかどうかを言うことができるようにしたいと思います(一致するはずです)。

どうすればいいですか?私は正規表現に不慣れです。

4

2 に答える 2

3

私の理解では、次のようなものを探しています。

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

于 2013-02-16T10:01:38.647 に答える
2

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")

アンカーを使用していることに注意してください^$これは、一致が入力全体に及ぶことを保証するためです。^文字列の先頭と一致し、文字$列の末尾と一致します。

詳細については、ドキュメントを参照してください。

于 2013-02-16T06:23:28.643 に答える