基本
1文字にマッチ
mark | Mean |
---|---|
. (dot) | なにか一文字 |
[xxx] | どれか一文字 |
[^xxx] | これ以外の一文字 |
[x-x] | この範囲の遺著文字 |
[a-d[m-p]] | a 〜 d、または m 〜 p:[a-dm-p] 結合 |
[a-z&&[def]] | d、e、f 交差 |
[a-z&&[^bc]] | b と c を除く a 〜 z:[ad-z] 減算 |
[a-z&&[^m-p]] | m 〜 p を除く a 〜 z:[a-lq-z] 減算 |
メタ文字にマッチ
mark | Mean |
---|---|
\d | 数字1文字 |
\d | 数字以外の1文字 |
\w | 英数字か_1文字 |
\W | 英数字か_以外の1文字 |
\s | 空白 (半角スペース、タブ、改行)1文字 |
\S | 空白 (半角スペース、タブ、改行)以外の1文字 |
\t | タブ |
\b | 単語の境界 |
\B | 単語の境界以外 |
\l | 半角英数小文字 |
\L | 半角英数小文字以外 |
\u | 半角英数大文字 |
\U | 半角英数大文字以外 |
\n | 改行(LF) |
\r | 改行(CR) |
\ メタ文字 | メタ文字そのものにマッチ |
メタ文字
. * + ? \ | ^ $ [] () {}
どれかの単語にマッチ
mark | Mean |
---|---|
xx | yy | どれかの単語 |
先頭・末尾にマッチ
mark | Mean |
---|---|
^ | 先頭 |
$ | 末尾 |
繰り返しにマッチ
mark | Mean |
---|---|
x* | x を0回以上繰り返す (x はない場合もある) |
x+ | x を 1 回以上繰り返す (x は最低1個はある) |
x” | x があってもなくてもマッチする |
x{n} | x を n 回繰り返す |
x{n,} | x を n 回以上繰り返す |
x{n,m} | x を n~m 回繰り返す |
最短マッチ
mark | Mean |
---|---|
x? | マッチするもので最短の範囲にマッチ |
キャプチャでマッチ
mark | Mean |
---|---|
(xx) \1 | (xx)でマッチした文字を \1 の位置でもう一度マッチ |
先読み・あと読み
mark | Mean |
---|---|
w(?=x) | 【先読み】後ろに x がついているときだけ w でマッチする |
w(?!x) | 【否定的先読み】後ろに x 以外がついているときだけ w でマッチする |
(?<=x)w | 【後読み】前に x がついているときだけ w でマッチする |
(?<!x)w | 【否定的後読み】前に x 以外がついているときだけ w でマッチする |
Example
時間
([01]\d|2[0-3]):[0-5]\d:[0-5]\d
日付
\d{4}([\-\.\/])(0[1-9]|1[0-2])\1([0-9]|[12]\d|3[01])
郵便番号
^\d{3}-\d{4{
メールアドレス
[\w\-\.]+@[\w\-\.]+\.[a-za-z]+$
HTML の要素
<(\w+)>.*</\1>
空の HTML の要素
<(\w+)></\1>
URL
https?://[\w\=\.~!#\$%&'\(\)\*\+,/;=?@\[\]]+
URL からドメイン
(?<=https?://)[\w\-\.]+(?=/.*)
数式
[ -~]+
Path からファイル名
[^/]+$
Path からディレクトリ名
^.*/