Pythonの正規表現で日本語を扱う

Python2.X系の正規表現で日本語や全角を扱う方法

・パターンと検索対象の文字列をunicodeに変換
・serchやmatchを使う際にunicodeフラグを指定
・-*- coding: utf-8 -*- をファイル先頭に記述
(UTF-8からユニコード(UCS-2)にエンコードさせるため)

テストしてみる
‘.’(ピリオド)はメタキャラクタで、任意の1文字を表す。改行を除く全角,半角,空白文字である。
re.subはマッチした場所を置き換える処理をする。

print re.sub(u’あ.す’, u’-マッチ-’, u’あいす’, re.U)
-マッチ-
print re.sub(u’あ.す’, u’-マッチ-’, u’あらす’, re.U)
-マッチ-

print re.sub(u’あ.す’, u’-マッチ-’, u’あいつ’, re.U)
あいつ
print re.sub(u’あ.す’, u’-マッチ-’, u’あすぱらがす’, re.U)
あすぱらがす

‘あ.す’に対して’あいす’と’あらす’はマッチするが、’あいつ’と’あすぱらがす’はマッチしていない。

参考にさせて頂いたページ:
taichino.com
日記

カテゴリー: 未分類   パーマリンク

コメントは受け付けていません。