この記事は正規表現を利用する機会が少なく、毎回必要になった時に調べ直している筆者がその手間を省くために書いたメモです。
正規表現検証ツール(Ruby)
Rubular
(筆者が)よく使う例
正規表現 |
マッチ |
メモ |
/\d+/ または /[0-9]+/ |
この前餃子を10 個たのんで、3 個食べて、7 個は友達にあげました |
数字の羅列にマッチ |
/\d{3}-\d{4}/ |
郵便番号は123-4567 です |
郵便番号にマッチする |
/\d{4}年\d{1,2}月\d{1,2}日/ |
君の誕生日は2022年3月3日 だったんだね |
日付にマッチ |
/\A([^@\s]+)@((?:[-a-z0-9]+.)+[a-z]{2,})\z/i |
私のメールアドレスはhoge.fizz@example.com です |
メールアドレスにマッチ |
正規表現で利用する特殊文字
特殊記号 |
意味 |
使用例 |
使用例のマッチ |
[] |
カッコ内で指定した文字のどれかに該当したらマッチ |
/[abc]/ |
uya jkb lkc
|
[^] |
カッコ内で指定した文字のどれにも該当しなかったらマッチ |
/[^abc]/ |
uy ajk blk c |
- |
[0-5]のように使用して0〜5までの数字だったらマッチするように設定 |
/[A-z0-3]+/ |
abc 71 8def 92 6ghi
|
. |
なんでも1文字とマッチ |
/hoge.+hoge/ |
foohogebuzzfizzhoge foo |
? |
パターンが1回以下発生した場合にマッチ |
/a\d?a/ |
bbbba1a ccccaa dddda12a |
* |
パターンが0回以上発生した場合にマッチ |
/a\d*a/ |
bbbba1a ccccaa dddda12a
|
+ |
パターンが1回以上発生した場合にマッチ |
/a\d+a/ |
bbbba1a ccccaadddda12a
|
{} |
パターンXX回発生した場合にマッチ |
/a\d{3}a/ |
bbbba1accccaadddda123a
|
{,} |
パターンXX回以上yy以下発生した場合にマッチ |
/a\d{2,3}a/ |
bbbba12a ccccaadddda123a
|
| |
ORでマッチ条件をつなぐ |
/a\d{3}a|a[A-z]{3}a/ |
a123a bbbaabca ccc |
^ |
マッチパターンを文字列の先頭に絞る |
/^aa/ |
aa aaaaaaaaaaaaaaaa |
$ |
マッチパターンを文字列の末尾に絞る |
/aa$/ |
aaaaaaaaaaaaaaaaaa
|
\ |
特殊記号をエスケープさせたり、\dなどの記述で数字を表すことができる |
/\[\d]/ |
[1] [a][9] [11] |