このモジュールは幾つかの関数、定数、例外を定義します。この関数のいくつかは コンパイル済み正規表現向けの完全版のメソッドを簡略化したバージョンです。 それなりのアプリケーションのほとんどで、コンパイルされた形式が用いられる のが普通です。
pattern[, flags]) |
式の動作は、flagsの値を指定することで加減することが
できます。値は以下の変数を、ビットごとの OR ( |
演算子)を
使って組み合わせることができます。
シーケンス
prog = re.compile(pat) result = prog.match(str)
は、
result = re.match(pat, str)
と同じ意味ですが、compile() を使うバージョンの方が、 その式を一つのプログラムで何回も使う時にはより効率的です。
pattern, string[, flags]) |
None
を返します;
これは、文字列内のある点で長さゼロのマッチ
を探すこととは異なることに注意して下さい。
pattern, string[, flags]) |
None
を返します;
これは長さゼロのマッチとは異なることに
注意して下さい。
注意: もし string のどこかにマッチを位置付けたいのであれば、 代わりに search() を使って下さい。
pattern, string[, maxsplit = 0 ]) |
>>> re.split('\W+', 'Words, words, words.') ['Words', 'words', 'words', ''] >>> re.split('(\W+)', 'Words, words, words.') ['Words', ', ', 'words', ', ', 'words', '.', ''] >>> re.split('\W+', 'Words, words, words.', 1) ['Words', 'words, words.']
この関数は、古い regsub.split() とregsub.splitx()の 機能を結合して拡張したものです。
pattern, string[, flags]) |
pattern, string[, flags]) |
pattern, repl, string[, count]) |
>>> re.sub(r'def\s+([a-zA-Z_][a-zA-Z_0-9]*)\s*\(\s*\):', ... r'static PyObject*\npy_\1(void)\n{', ... 'def myfunc():') 'static PyObject*\npy_myfunc(void)\n{'
もし repl が関数であれば、重複しない patternが発生する たびにその関数が呼ばれます。この関数は一つのマッチオブジェクト 引数を取り、置換文字列を返します。例えば:
>>> def dashrepl(matchobj): ... if matchobj.group(0) == '-': return ' ' ... else: return '-' >>> re.sub('-{1,2}', dashrepl, 'pro----gram-files') 'pro--gram files'
パターンは、文字列でも RE でも構いません;もし正規表現フラグを指定する
必要があれば、RE オブジェクトを使うか、パターンに埋込み修飾子を使わ
なければなりません;たとえば、"sub("(?i)b+", "x", "bbbb
BBBB")" は 'x x'
を返します。
省略可能な引数 count は、置換されるパターンの出現回数の
最大値です;count は非負の整数でなければなりません。
もし省略されるかゼロであれば、出現したものがすべて置換されます。
パターンのマッチが空であれば、以前のマッチと隣合わせでない時だけ
置換されますので、"sub('x*', '-', 'abc')" は '-a-b-c-'
を
返します。
上で述べた文字エスケープや後方参照の他に、 "\g<name>" は、 (?P<name>...) のシンタクスで定義されているように、 "name" という名前のグループとマッチしたサブ文字列を 使います。"\g<number>" は対応するグループ番号を使います; それゆえ "\g<2>" は "\2"と同じ意味ですが、 "\g<2>0" のような置換でもあいまいではありません。 "\20" は、 グループ 20 への参照として解釈されますが、グループ 2 にリテラル文字 "0" が続いたものへの参照としては解釈されません。 後方参照 "\g<0>" は、 RE とマッチするサブ文字列全体を置き換えます。
pattern, repl, string[, count]) |
(new_string、 number_of_subs_made)
を返します。
string) |
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。