Pythonで正規表現
使い方
モジュールのimport
import re
正規表現オブジェクトの生成・マッチング
import re
正規表現オブジェクトを生成してから、マッチングする方法
# 生成
cmpObj = re.compile(r'a.c')
# マッチング
ret = cmpObj.match('abc')
正規表現オブジェクトを生成しなくても、マッチングできる。
しかし、プログラム中で何度も同じ正規表現パターンを使用する場合は、正規表現オブジェクトを生成して使用するほうが効率的に処理できる。
# マッチング
ret = re.match(r'a.c', 'abc')
正規表現パターンに文字列がマッチしている場合には、match()
の戻り値として、マッチオブジェクトを返却する。
マッチしなかった場合は、Noneが返却される。
match()
は文字列の先頭がマッチするかを見ているため、以下のような場合はマッチしない
# これはマッチしない
ret = re.match(r'a.c', 'babc')
文字列の先頭だけでなく、途中でもマッチしているかを確認する場合は、search()
を使用する。
# これはマッチする
ret = re.search(r'a.c', 'babc')
# 正規表現オブジェクトを使用する場合
ret = cmpObj.search('babc')
マッチしたか確認する
if ret :
print(ret) # マッチした場合
else :
print('not match') # マッチしなかった場合
注意点
- パターンと検索する文字列は
str
またはbytes
を使用するが、str
とbytes
の混在はできない。 - 正規表現パターンの文字列を指定するときには、raw文字列記法を使用する。(
\
を特殊文字として扱いたくないため)
Author And Source
この問題について(Pythonで正規表現), 我々は、より多くの情報をここで見つけました https://qiita.com/t07y04/items/c437f195295b662c152a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .