BLOG

正規表現について

こんにちは!ririです。

今日は、メールアドレス登録時の入力チェック処理をSpring Bootアプリケーションに実装しました。
せっかくなので、正規表現についてまとめてみたいと思います。

①正規表現とは
②サンプル
③まとめ

の順で書いていきます。

①正規表現とは

対象の文字列を別の表現方法で表したものです。
メタキャラクタという特有の意味を持った文字を使用します。

説明しにくいので、具体例を書いてみます。
例えば、
catという文字列は、正規表現だと…や[a-z]{3}で表現できます。

.は正規表現において、任意の1文字を表します。
そのため、dogもcowも…で表現できますが、lionは4文字なので、…ではなく….になります。

[a-z]{N} は任意の小文字のアルファベットを表します。
Nの部分を数字に置き換えると、文字数を指定できます。
上記の例だとcatは3文字なので、 [a-z]{3} になります。

他にも、
行の開始を表す^、行の終了を表す$、語境界を表す\b
などがあります。
詳しい情報はこちらに掲載されています。

②サンプル

サクラエディタを使用して文字列を検索します。
動物の名前が書いてあるテキストの中から、3文字の文字列のみを検索してみます。

Ctrl+Fで検索ウィンドウを開いて、検索条件を正規表現で指定します。

^は前方一致を、$は後方一致を意味しています。
この場合、先頭から数えて3文字かつ、末尾から数えて3文字の小文字のアルファベットを表現しています。
※正規表現は必ず半角で構成してください。

3文字で小文字のアルファベットの文字列のみ、条件一致の対象として背景が黄色になりました。
ちなみに[a-z]を[A-Z]にすれば、大文字のアルファベットのみを検索できます。
さらに[a-zA-Z]だと小文字と大文字の区別なしになります。

③まとめ

以前から正規表現というワードだけは聞いたことがあったのですが、記述も含め、ここまで具体的に内容を理解したのは今回が初めてでした。
記号の羅列で、最初は意味不明でしたが、徐々に正規表現に慣れてきました。
実務だと登録者名の苗字と名前の間にスペースが入っているものを条件一致の対象にして、そのスペースのみを削除するといった使い方ができるそうです。
今回の研修で正規表現に対する抵抗感が無くなったので今後、正規表現を使用する機会があっても臆せずに対応できます。

今回は以上になります。
ご覧いただき、ありがとうございました。

BLOGトップへ戻る