正規表現の使用例
前回まとめた一覧から、よく使うだろうと思うものをピックアップしてみました。
業務でまた新しい発見があれば更新しようと思います。
- ★ メタ文字
. * + ? \ | ^ $ [] () {}
郵便番号のチェック
- ルール [3桁の数字]-[4桁の数字]
\d{3}-\d{4}
メールアドレスのチェック
- ルール [1文字以上の英数字|-|.]@[1文字以上の英数字|-|.].[1文字以上のアルファベット]
^[\w\-\.]+@[\w\-\.]+\.[a-zA-Z]+$
^[\w\-\.]+ ==> 先頭が英数字か「_」,「-」,「.」を1文字以上の繰り返し
[a-zA-Z]+$
==> 末尾が英字を1文字以上の繰り返し
アルファベットか数字で4~8文字の時だけマッチ
- ルール アルファベットか数字で4~8文字
^[a-zA-Z0-9]{4,8}$
^~~~$ ^ 先頭と $ 末尾 で{4,8}のくり返しで制限するのが必要になる。
HTMLの要素にマッチ
- ルール < 1文字以上の英数字のタグ名 > [どんな文字でも(なくても可)]</ 同じタグ名 >
<(\w+)>.*</\1>
.* ==> なんでもいい1文字を0回以上のくり返し
(\w+) \1 ==> (\w+) 最短マッチ \1 で絞り込みしている。
URLのドメイン名にマッチ
- ルール < 1文字以上の英数字のタグ名 > [どんな文字でも(なくても可)]</ 同じタグ名 >
- ● http:// または https:// ではじまる
- ● 後ろの /ディレクトリ名やファイル名、パラメーターはある場合もない場合もある
- ● ホスト、ドメイン名で使用できる文字は アルファベット、数字、「_」,「-」,「.」
(?<=https?://)[\w\-\.]+(?=/.*)
(?<=https?://) ==> 【後読み】前に 「http://」 または 「https://」 がついている場合に
(?=/.*) ==> 【先読み】後ろに 「/なんでも可」 がついている場合に
[\w\-\.]+ ==> 英数字,「_」,「-」,「.」 が1文字以上あるときにマッチする
例) スペースを含まない文字列
// 半角スペースを含まない1文字以上の連続
[^ ]+
// 全角スペースを含まない1文字以上の連続
[^ ]+
// 全角か半角かのスペースを含まない1文字以上の連続
[^ ]+
例)特定の文字のみを含む文字列
// 特定の文字のみを含む文字列
[ぁ-んァ-ヴ0-9a-zA-Z0-9\-]+
否定的先読みの応用
//〜を含まない
//「abc」という文字列を含まない行にマッチする。
^(?!.*abc).*$
//〜または〜を含まない
//「abc」または「efg」という文字列を含まない行にマッチする。
^(?!.*(abc|efg)).*$
//〜で始まらない
//「abc」という文字列から始まらない行にマッチする。
^(?!abc).*$
//〜で終わらない
//「abc」という文字列で終わらない行にマッチする。
^(?!.*abc$).*$
否定的先読みだけはまだ勉強しなければならないと思います、間違いがあれば更新していきます。
参考にする場合はこちらのページを見直して活用していきます。
ご覧いただきアリガ㌧♪