正規表現とは
正規表現とは、文字列の一部分を抽出・置換したり
文字列が制約を満たしているかを調べるための表現方法で
メールアドレスに@が入っていないと登録できない等の制約をかける事が出来ます。
正規表現のパターン
パターン | 意味 | 例 |
---|---|---|
[ ] | 正規表現における[ ](角括弧)は [ ]内に囲まれた文字がマッチします [a]だとaがマッチします、また文字列の間に ハイフンを入れる事により [a-z]aからzの文字がマッチする。 |
[a-z][ぁ-ん] [ァ-ヶ]/\p{Han}/ [ぁ-んァ-ヶ一\p{Han}] |
\d | \dは数字のみマッチする。 | [\d][a-z\d] |
{n, m} | 直前の文字がn回、多くてもm回出現するものにマッチする。 | /\d{10,11}/ |
{n} | 直前の文字がn回出現するものにマッチする。 | /\d{10}/ |
. | 改行以外のどの文字にもマッチする。 | (?=.*?\d) |
+ | 直前の文字の1回以上の繰り返しにマッチする。 | [a-z\d]+\z |
\A | 直後の文字が先頭にある文字列にマッチする。 | \A[ぁ-んァ-ヶー] |
\z | 直前の文字が末尾にある文字列にマッチ | [ぁ-んァ-ヶー]+\z |
正規表現の参考例
忘備録も兼ねてる為、今後勉強中に覚えた事を追記していく予定です。
ひらがな、カタカナ、漢字のみ許可
/\A[ぁ-んァ-ヶ一\p{Han}]+\z/
ひらがなのみ許可
/\A[ぁ-んー]+\z/
カタカナのみ許可
/\A[ァ-ヶー]+\z/
漢字のみ許可
/\p{Han}/
半角英数字のみ許可
/\A[a-z0-9]+\z/i
ハイフン無し電話番号のみ許可(10桁)
/\A\d{10}\z/
ハイフン付き郵便番号のみ許可
/\A[0-9]{3}-[0-9]{4}\z/
ハイフン無し郵便番号のみ許可
/\A[0-9]{7}\z/