1. はじめに
今回は、SprintBoot+Vueでアプリケーションを作る中で、正規表現の設定方法などをインプットする機会があったので、メモ書きとしてまとめていたものを公開していきます。
2. 正規表現(凡例)
凡例①(入力規則でよく使われるもの)
文字 | 働き | 入力例 | マッチの例 |
---|---|---|---|
^ | 直前の文字が行の先頭にある場合にマッチ | ^abcd | abcd...... |
$ | 直後の文字が行の末尾にある場合にマッチ | abcd$ | ......abcd |
[] | 角括弧に含まれるいずれか1文字にマッチ | [a-z] | aからzまでの1文字 |
[^...] | 角括弧に含まれる文字以外にマッチ | [^a-z] | aからz以外の1文字 |
{n,m} | 直前の文字の最小桁数と最大桁数を指定する最長一致 | a{3,5} | aaa aaaa aaaaa |
+ | 直前の文字が1回以上繰り返す場合にマッチ 最長一致 | abcd+efg | abcdefg abcddddddddefg |
* | 直前の文字が0回以上繰り返す場合にマッチ 最長一致 | abc*efg | abcefg abcddddddddefg |
凡例②(アルファベット1文字で代替できるもの)
意味 | 代替例 | |
---|---|---|
t | タブ | (なし) |
\r | 改行 | (なし) |
\n | 改行 | (なし) |
\d | すべての数字 | [0-9] |
\D | すべての数字以外の文字 | [^0-9] |
\s | 垂直タブ以外の全ての空白文字 | [ \t\f\r\n] |
\S | すべての非空白文字 | [^ \t\f\r\n] |
\w | 英字、_、数字 | [^a-zA-Z_0-9] |
\W | 英字、_、数字以外の文字 | [^a-zA-Z_0-9] |
③特徴的な文字列の正規表現
使用例 | 正規表現 |
---|---|
Email アドレス | ^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$ |
携帯電話番号 | ^0[5789]0-\d{4}-\d{4}$ |
URL | ^https?://([\w-]+.)+[\w-]+(/[\w-./?%&=]*)?$ |
ドメイン名 | ^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9].[a-zA-Z-]{2,}$ |
日付 (YYYY-MM-DD形式) | ^\d{4}-\d\d-\d\d$ |
郵便番号 | ^\d{3}-\d{4}$ |
3. 正規表現(使用例)
①html
patternで入力規則を指定
// 半角英数字(大文字可)
<input pattern="^[a-zA-Z0-9]+$"/>
②SpringBoot
// 半角英数字(大文字可)
@Pattern(regexp="^[a-zA-Z0-9]+$")
private String userId;
バックエンドから正規表現に沿うようにとメッセージが返ってきます。
3.さいごに
今回の記事は以上です。
次回はnull判定・undefined判定など、その値が入っているかどうかを判定するロジックやライブラリ(loadash)についてまとめた記事を公開予定です。
4.参考資料
①よく使う正規表現とシーン別使用例まとめ
②【コピペだけすぐ使える!】よく使う正規表現のまとめと正規表現自動生成ツールを紹介!