正規表現を可視化する無料サービス!否定に置換に区切りや桁数チェックに何でも対応!大変なパターン文字も範囲的なデバッグで簡単に実装ができる!
正規表現とはプログラムで文字列を解析し、
パターンに一致するかしないかを判定するために使われる文字情報です。
お問い合わせなどのメールフォームで送信ボタンを押す時に、
「書式が違います」といったエラーメッセージが出ることがありますが、
こうしたエラーチェックの多くは正規表現を用いて判定を行なっていますね。
電話番号や郵便番号、メールアドレスなどの入力項目で、
プログラム側が意図しない文字列を受け取った時に、パターンチェックで使いますが、
未だに私もこの正規表現に記述に慣れていなかったりします。
正規表現が難しくてパターンのデバッグが大変
正規表現は以下のような記述をします。
1 | 0[89]0\d{8} |
パッと見だけでは意味がよくわからないと思います。
正規表現のサンプルを見てみよう!
上記の例ではまず先頭が「0」で2番目の数字が「8か9」で3番目の数字は「0」となります。
なので「080」か「090」という数字を識別させます。
その次の「\d{8}」は数値を8桁までというパターンを定義しています。
なので正規表現の全体を見ると、「080XXXXXXXX」か「090XXXXXXXX」という
数字のパターンを指します。
入力フォームなどのエラーチェックではこうした正規表現を用いて、
パターンに一致するか判定し、一致すれば処理を、しなければエラーメッセージを表示する
ロジックを組んでいます。
難しい複雑な正規表現のデバッグは?
しかし、上記の例のような正規表現なら視覚的にもまだ理解しやすいですが・・・。
以下の正規表現はどうでしょうか?
1 | b[0-9]{1,3}(?:,?[0-9]{3})*\.[0-9]{2} |
もう目で見ただけではどんなパターンかわかりませんよね。
複雑になるほど、自分で正規表現を作成し、
いざプログラムを実行させようとすると、パターン一致はうまくいかないものです。
こうした時みなさんはどのように正規表現のデバッグを行ないますか?
正規表現を可視化してデバッグできる無料サービスがおすすめ
正規表現のデバッグができたらいいな、と思い調べていたら面白いものが見つかりました。
なんと正規表現のパターン文字を入れるだけで可視化してくれるというサイトがありました。
こちらのREGEXPERというサイトです。
試しに正規表現の文字を適当に入れてみたところ下記のようになりました。
これはかなり便利ですよ。
正規表現のパターンを入力ボックスに入れて「Display」ボタンを押すだけで、簡単に可視化してくれます。
どのような文字パターンになるか図として表示されますので、わかりやすく見やすいです。
否定や置換、範囲パターンにも対応しています。
これならプログラムで判定をかける前にデバッグができます。
また構文エラーがあるときは警告を出してくれます。
このように正規表現に構文エラーがあると、赤い画面でエラーが出ます。
さらにどの部分でエラーが出ているか場所まで教えてくれる機能まで付いています。
素晴らしいですね。
今まで正規表現のデバッグに悩まされていたので、このサイトはかなり重宝します。
最新記事 by よっき (全て見る)
- 「圧着」と「圧接」の違い!コネクタを使った効率的な配線作業! - 2019年10月26日
- 夏の暑さ対策は大丈夫?冷却性能抜群のおすすめCPUクーラー!メモリに干渉しない最強の商品を紹介! - 2018年5月1日
- 自作PC弐号機のケースを換装!SilverStone製のミニタワーで冷却性とかっこよさを追求! - 2018年3月11日
スポンサードリンク
こちらの記事もどうぞ!
記事公開日:2015年4月18日
最終更新日:2016年6月1日