3
1

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】便利な正規表現まとめ

Posted at

オリジナルアプリ作成にあたり使用した正規表現を、備忘録としてアウトプットします。

#英数字混合
※大文字・小文字の区別なし

/\A(?=.*?[a-z])(?=.*?\d)[a-z\d]+\z/i

#半角数字のみ

/\A[0-9]+\z/

全角(漢字・ひらがな・カタカナ)

/\A[ぁ-んァ-ヶ一-龥々ー]+\z/

ァ-ンではなくァ-ヶとしているのはヴ、ヵ、ヶを含めるため。
一-龥ではなく一-龥々としているのはを含めるため。
・末尾にがあるのは「ジュリー」「メアリー」などのハイフンを含めるため。

全角(カタカナのみ)

/\A[ァ-ヶー]+\z/

#電話番号10桁以上11桁以下(ハイフンなし)

/\A[0-9]{10,11}+\z/

#郵便番号(ハイフンあり)

/\A\d{3}[-]\d{4}\z/

#今回登場した正規表現のパターン表記一覧

[a-z]: 角括弧で囲まれた文字のいずれか 1個にマッチ
\d:数字にマッチ
{n, m}: 直前の文字が少なくともn回、多くてもm回出現するものにマッチ
. :改行以外のどの1文字にもマッチ
+ :直前の文字の1回以上の繰り返しにマッチ
\A :直後の文字が先頭にある文字列にマッチ
\z :直前の文字が末尾にある文字列にマッチ
[ぁ-んァ-ヶ一-龥々]: 角括弧に囲まれたかな、カナ、漢字のいずれかにマッチ(ヴ、ヵ、ヶ、々を含む)
?= :直後に設定した文字が続く文字列にマッチ
*? :直前に設定した文字が0回以上続く文字列をチェックし、?の直後の文字が出た段階でその1文字を返す


ご指摘などあれば、ご教授いただけると幸いです。
3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?