文字列の検索を行う正規表現について、キチンと理解しておこう。
大体の言語に搭載されている正規表現という文字列検索の方式ですが、言語によって若干扱いが異なる点もありますが、基本構造を覚えておけば、応用ができるので、まずはちゃんと理解しておきましょう。
参考ページ
Javascript
MDN : https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions
構文
基本構文は下記の通り。
/(^)(構文記述)($)/(オプション記述)
構文リファレンス
^ : 文字の先頭にマッチング、(または否定形)
$ : 文字の末尾にマッチング
* : 0回以上の繰り返しにマッチング{0,}
+ : 1回以上の繰り返しにマッチング{1,}
? : 0回または1回の出現にマッチング{0,1}
. : 改行以外の全ての1文字にマッチング
(*) : *の任意文字列にマッチした場合、メモリにキャッシュされます。
{n} : 直前文字がn回の出現にマッチング
{n1,n2} : 直前文字がn1回〜n2回の出現にマッチング
[***] : ***の複数文字にマッチング
オプションリファレンス
i : 大文字と小文字を区別しない
m : 複数行を対象にする
g : グローバルサーチ
y : sticky検索
gとyはあまり使わなくてよろしい。
特殊文字
\n : 改行(new line)
\r : 復帰文字(return)
\t : タブ
\b : 単語の区切り
\B : 単語の区切り以外
\d : 数値、[0-9]と同じ
\D : 数値以外[^0-9]
\l : 半角英小文字(小文字のL)
\L : 半角英小文字以外
[\u\l] : 半角英文字
[^\u\l] : 半角英字以外
\f : 改ページ
\s : スペース、タブ、改ページ、改行を含む 1 個のホワイトスペース文字にマッチ
\S : ホワイトスペース以外にマッチ
\w : アンダースコアを含む英数字にマッチ[0-9a-zA-Z_]
\W : \w以外の文字にマッチ
\0 : null
\xhh : 2桁の16進数
\uhhhh : 4桁の16進数
サンプルコード
## メールアドレスマッチ
/^[-!#$%&+\.\/0-9=?A-Z^_'a-z{|}~]+@[-!#$%&+\.\/0-9=?A-Z^_'a-z{|}~]+\.[-!#$%&+\.\/0-9=?A-Z^_'a-z{|}~]+$/gi
## URL
/^(http)(.*?)(:\/\/)(.*?)\.([\w|.\-+_])(.*)/gi
## ドメイン
/^[.|\w|\-+_]+\.[a-z|\-+_]+$/gi
## 桁区切りのカンマ付数字列
/\b\d{1,3}(,\d{3})*\b/
## 数字列
/\d+/
## 3桁の数字
/\d{3}/
## 3桁以上の数字
/\d{3,}/
## 3桁以上10桁以下の数字
/\d{3,10}/
参考ページ
正規表現サンプル集
正規表現まとめ
0 件のコメント:
コメントを投稿