2015年8月17日 11:00
Pythonで学ぶ 基礎からのプログラミング入門 (13) 正規表現をマスターしよう
に合致するかの判定を変えられます。今回ですと“^\d+” は「^」が先頭、「\d」が数字、そして「+」は前の記号のn-1個の繰り返しという意味です。つまり先頭が数字、そのあとが何が何文字続いてもいいという意味になります。数字から始まる文字列ということですね。この条件に合致する文字列はマッチオブジェクトが返され、合致しない場合はNoneが返されます。そのため返り値を比較して、Noneでなければマッチしていると判断することが可能です。なお、matchは必ず先頭から確認するので「^」は書いても書かなくても同じです。
Matcher オブジェクト
re.matchやre.searchにマッチしない場合はNoneが返ってくると説明しましたが、では合致するときには何が返ってくるのでしょうか。
実際に試してみます。
import re
# マッチしない
m = re.search(’\d+’, ’abcdef’)
print(type(m)) # <type ’NoneType’>
# マッチする
m = re.search(’\d+’, ’abc123def’)
print(type(m))