no-image

pythonの正規表現

とりあえず忘れたときはこのサイトをみればよいかと思います。

忘れっぽい人のための正規表現チートシート

pythonではちょっと違うところがあるのかもしれませんがだいたい同じだと思います。しかしながら非常にわかりにくい正規表現があったので書いておこうかと思います。

pythonの正規表現 \1 とは

\1 を使うと(グループ)を使って置換できるというもの → どういうときに使うのかもわからず、しかも非常にわかりにくい。

hoge = re.compile(r'a(\w)*')

foo = hoge.sub('/1****', 'amond apple')

print(foo)

# => **** ****

/1 とすると ()グループ1の文字を使えるということだ (\w)は文字、数字、下線のどれかがあったらマッチする。

(\w)という集合文字列に置き換わって□になっている。

だが、問題はre.compileでマッチするのが前提としてあるので、非常にわかりにくく使いづらい。あやうく例の質問任せになりそうだったが冷静に考えたらちょっとわかったかもしれない。