この記事は正規表現を利用する機会が少なく、毎回必要になった時に調べ直している筆者がその手間を省くために書いたメモです。
正規表現検証ツール(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]/ |
uyajkblkc
|
| [^] |
カッコ内で指定した文字のどれにも該当しなかったらマッチ |
/[^abc]/ |
uyajkblkc |
| - |
[0-5]のように使用して0〜5までの数字だったらマッチするように設定 |
/[A-z0-3]+/ |
abc718def926ghi
|
| . |
なんでも1文字とマッチ |
/hoge.+hoge/ |
foohogebuzzfizzhogefoo |
| ? |
パターンが1回以下発生した場合にマッチ |
/a\d?a/ |
bbbba1accccaadddda12a |
| * |
パターンが0回以上発生した場合にマッチ |
/a\d*a/ |
bbbba1accccaadddda12a
|
| + |
パターンが1回以上発生した場合にマッチ |
/a\d+a/ |
bbbba1accccaadddda12a
|
| {} |
パターンXX回発生した場合にマッチ |
/a\d{3}a/ |
bbbba1accccaadddda123a
|
| {,} |
パターンXX回以上yy以下発生した場合にマッチ |
/a\d{2,3}a/ |
bbbba12accccaadddda123a
|
| | |
ORでマッチ条件をつなぐ |
/a\d{3}a|a[A-z]{3}a/ |
a123abbbaabcaccc |
| ^ |
マッチパターンを文字列の先頭に絞る |
/^aa/ |
aaaaaaaaaaaaaaaaaa |
| $ |
マッチパターンを文字列の末尾に絞る |
/aa$/ |
aaaaaaaaaaaaaaaaaa
|
| \ |
特殊記号をエスケープさせたり、\dなどの記述で数字を表すことができる |
/\[\d]/ |
[1][a][9][11] |