2013/10/23

正規表現 サンプル

久しく使っていないと即忘れるため、完全「自分用」メモです。

メールアドレス チェック

万能ではありませんが、基本はこれでいいかなと。
/[!#-9A-~]+@+[a-z0-9]+.+[^.]$/g
※正規表現とは関係ありませんが、メールを取り扱う場合、ドメイン部をDNSサーバへ問い合わせる機能があると「メールアドレスの入力間違い」による運用負担が軽減できるケースがあります。というか、ありました。

電話番号 チェック

市外局番-市内局番-加入者番号(OAB~J)版。
/^\d{2,5}-\d{1,4}-\d{4}$/g
市外局番は2~4桁ではなく、最大5桁がまだ存在しています。
これを知らないと痛い目にあいます。というか、あいました!
市外局番5桁の地区はWikiPediaの「2013年5月現在 現存する5桁市外局番」から確認できます。

大文字・小文字のチェック

最後のgの部分によって、大文字・小文字のチェックが切り替わります。
g:大文字・小文字を判定
i:大文字・小文字はチェックせず判定
それ以外にも機能がありますが、よく使うのは上記2つ。

数値の文字数制限

制限したい文字数。
/\d{n}/in
例えば、8文字の数値は\d{8}と記述
6~8文字の場合は、\d{6,8} と記述
文字列xxxとの組み合わせは、/xxx\d{n}/i

ワイルドカード

あらゆる文字の連続を抽出する。
/.*/g

特定文字の連続

この場合、aが連続する文字列を抽出する。
/a*/g

論理演算

abを含んで、かつ、bcを含む
/^(?=.*ab)(?=.*bc).*$/
abを含んで、かつ、bcを含まない
/^(?=.*ab)(?!.*bc).*$/

該当テキストを検索し、置換

行最後がA01~A99をZ01~Z99に置換したい場合
検索:A(\d{2})$
置換:Z$1
テキストエディタでよく使いますが、検索部のかっこ()を忘れる事がよくありますので、要注意!
(\d{5})-(\d{3})のように検索した場合は、最初のかっこ部が$1、次のかっこ部が$2に格納

更に詳しく知りたい場合は、「Microsoft msdn - 正規表現の概説」を参照してください。
スポンサーリンク

スポンサーリンク