引用・参考

http://qiita.com/wanwanland/items/ce272419dde2f95cdabc

https://docs.python.jp/3/howto/regex.html

基本形(コンパイル無=使いまわさない)

import re
pattern = r"[c-e]"
target = "abcdefg"
matchObject = re.search(pattern , target)

基本形(コンパイル有=使いまわす場合)

import re
pattern = r"cde"
target = "abcdefg"
ptn = re.compile(pattern)
matchObject = ptn.search(target)

実例

import re
pattern = r"[c-e]{2,}"
target = "abcdefgABCDEFG"
matchObject = re.search(pattern,target,re.IGNORECASE)
print("matchObject          = ",matchObject)
print("matchObject.group()  = ",matchObject.group())
print("matchObject.span()   = ",matchObject.span())
matchObject = re.findall(pattern,target,re.IGNORECASE)
print("matchObject(findall) = ",matchObject)

結果

matchObject = <_sre.SRE_Match object; span=(2, 5), match='cde'> matchObject.group() = cde matchObject.span() = (2, 5) matchObject(findall) = [‘cde’, ‘CDE’]

プロパティ

プロパティ 意味
re.ASCII \w, \b, \s, そして \d などをそれぞれのプロパティをもつ ASCII 文字だけにマッチさせる
re.DOTALL . を改行を含む任意の文字にマッチするようにする
re.IGNORECASE 大文字小文字を区別しない
re.LOCALE ロケールに対応したマッチを行う
re.MULTILINE ^ や $ に作用して、複数行にマッチング

構文

コード 意味
\d 任意の十進数とマッチします; これは集合 [0-9] と同じ
\D 任意の非数字文字とマッチします; これは集合 [^0-9] と同じ
\s 任意の空白文字とマッチします; これは集合 [ \t\n\r\f\v] と同じ
\S 任意の非空白文字とマッチします; これは集合 [^ \t\n\r\f\v] と同じ
\w 任意の英数文字および下線とマッチします; これは、集合 [a-zA-Z0-9_] と同じ
\W 任意の非英数文字とマッチします; これは集合 [^a-zA-Z0-9_] と同じ