0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Rails]正規表現 一覧

Last updated at Posted at 2021-07-21

はじめに

本記事は、よく使用される正規表現を紹介します。
基本的に暗記する必要はありませんが、
どのような理論で判別されるのかは把握する必要はあります。

表記一覧

パターン 内容・意味
[a-z] [ ]で囲まれた文字の1つに当てはまる
\d 数字に当てはまる
{n,m} 直前の文字が少なくてもn回、多くてもm回のものに当てはまる
. 改行以外のどんな1文字にも当てはまる
+ 直前の文字の1回以上の繰り返しに当てはまる
\A 直後の文字が先頭にある文字列に当てはまる
\z 直前の文字が末尾にある文字列に当てはまる
[ぁ-んァ-ヶ一-龥々] [ ]に囲まれた「かな」「カナ」「漢字」のいずれかに当てはまる
?= 直後に設定した文字が続く文字列に当てはまる
*? 直前に設定した文字が0回以上続く文字列をチェックし、?の直後の文字が出た際にその1文字を返す

説明

####\A、\z、\d

irb(main):001:0> code = "9876-543210"

irb(main):002:0> code.match(/\A\d{4}[-]\d{6}\z/)
=> #<MatchData "9876-543210">

先頭4文字(\A)が数字(\d)
末尾6文字(\A)が数字(\d)
*特に電話番号や郵便番号が多いイメージです。

####[a-z]、[ぁ-んァ-ヶ一-龥々ー]

irb(main):001:0> name = "サンプラザ中野"

irb(main):002:0> name.match(/\A[ぁ-んァ-ヶ一-龥々ー]+\z/)
=> #<MatchData "サンプラザ中野">

irb(main):003:0> name = "Sunplaza中野"

irb(main):004:0> name.match(/\A[ぁ-んァ-ヶ一-龥々ー]+\z/)
=> nil

####?=

irb(main):001:0> name = "ビアードパパ"

irb(main):002:0> name.match(/ビアード(?=パパ)/)
=> #<MatchData "ビアード">

irb(main):003:0> name = "ビアードママ"

irb(main):004:0> name.match(/ビアード(?=パパ)/)
=> nil

終わりに

本記事を書いていると楽しくなり、気づけば2時間でした。
特に覚えるものではありませんが、このような形で投稿するとアウトプットになるので、
投稿しました!!

暇な時にまた書きたいなと思います!!

0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?