2012.08.03
STAFF BLOG
スタッフブログ
TECHNICAL
テクログ

正規表現が苦手という人をよく見かけます。
そういう私も少し前までは苦手でなるべく避けて通っていたクチです。
何が嫌だったのかと思い返すと、単に慣れていなかったのが原因だったような気がします。
という事で、覚えることもそんなに多くないのでサクッと苦手意識を無くしてしまいましょう。
文字指定
.(ドット) 何でもいい一文字
[abc] aかbかcの何れか
[^abc] aかbかcの何れか以外
[a-c] aかbかcの何れか
()括弧 グループとして扱う
(abc|def) abc、defのどちらか
文字数指定
? 直前の文字が0回か、1回マッチ
* 直前の文字が0回以上マッチ
+ 直前の文字が1回以上マッチ
{3}直前の文字が3回マッチ
[3,]直前の文字が3回以上マッチ
[3,5]直前の文字が3回から5回マッチ
位置
^ 最初
$ 最後
その他
上記のメタ文字を文字として扱う
? 最短マッチ+*と組み合わせれば次の文字が最初に現れるまで
この辺りが基本ではないかと思います。
あとは習うより慣れろということで
実戦で使っていけば苦手意識は無くなっていくはずです。
一つだけ、気をつけるポイントは「.(ドット)」はなるべく使わないといったところでしょうか。
何でもいい一文字は思わぬものをヒットさせて不具合の原因になります。
正規表現は様々なプラットフォームで使えます。
phpやjavascriptなどはもちろん、mod_rewriteやmysql、postgresなどのwhere句など。
多少の文法は違いはありますが、基本を覚えておけばどんなプラットフォームでもいけます。
覚えておいて損はない技術です。