1
0

More than 1 year has passed since last update.

正規表現メモ(Ruby)

Last updated at Posted at 2022-09-05

この記事は正規表現を利用する機会が少なく、毎回必要になった時に調べ直している筆者がその手間を省くために書いたメモです。

正規表現検証ツール(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]
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0