web-dev-qa-db-ja.com

Python regex string matching?

私は、javascript正規表現の経験をPythonに移そうとしています。

私はこれを機能させようとしています:

print(re.match('e','test'))

...しかし、Noneは出力されます。私が行った場合:

print(re.match('e','est'))

一致します...デフォルトでは文字列の先頭に一致しますか?一致する場合、結果をどのように使用しますか?

最初の1つを一致させるにはどうすればよいですか? pythonサイトの提供よりも優れたドキュメントがありますか?

32
mowwwalker

re.matchは、暗黙的に^を正規表現の先頭に追加します。つまり、文字列の先頭でのみ一致します。

re.searchはすべての位置で再試行します。

一般的に言えば、re.searchを使用し、必要に応じて^を明示的に追加することをお勧めします。

http://docs.python.org/library/re.html

57
Oscar Korz

ドキュメントは明確だと思います。

re.match(pattern、string [、flags])¶

If zero or more characters **at the beginning of string** match the

正規表現パターン、対応するMatchObjectインスタンスを返します。文字列がパターンに一致しない場合はNoneを返します。これは、長さゼロの一致とは異なることに注意してください。

9
Kent