正規表現を解析して可視化してくれるサイト『Regexpra』がやばい

More than 3 years have passed since last update.

ある正規表現に対して特定の文字列がマッチングしているのを確認してくれるサイトは山のようにあるんだけど、正規表現そのものがどんな文字列を期待しているのか分析・解読してくれるツールってあまりないのよね...(´・ω・`)

例えば

^(a-z|A-Z|0-9){4}$

こんな簡単なものだったらすぐに分かるけど

これが複雑になってくると自分でも頭が???状態になってしまいます><

そこでこんなものを見つけました。

Regexper

www.regexper.com

正規表現を入力してDisplayボタンを押すとその正規表現が示す内容を図で表示してくれます。

例えば誰かが書いたこんな正規表現で???になるときもあると思いますが

^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$

メールアドレスをマッチングさせる正規表現ってのは分かるんだけど、この表記でどんな文字列を

期待しているのか分からない場合でもこのツールを通してみると

結果.png

図の見方は左から線を辿って行って分岐があれば好きな所に行けますよーって感じ

そして右まで辿り着くと出てきた文字を繋ぎ合せて文字列を期待している感じ

この場合

Group #1のところは必ず1回は一定の文字を繰り返さなければならないけど、Group #2のところは別に文字は繰り返さなくても問題ないんだ!っていうのが一目で分かります。

あとは表記ゆれとか...

正規表現だけじゃ分からないけどこれなら

画面のキャプチャーを取って人に説明する際に役に立ちそうですねー(・∀・)