Webサイト上で使える正規表現チェッカーまとめ

## はじめに
正規表現チェッカー[^1]について、たまたま調べる機会がありましたので、備忘録も兼ねて記事にしてみました。

[^1]: 正規表現のパターンとテスト対象の文字列を入力すると、マッチした結果などを表示してくれるツールのこと。正規表現パターンのデバッグによく用いられる。

もし、「これから探そうとしてた！」という方のご参考になりましたら幸いです。


## 10種類をピックアップ
調べてみると、30種類以上ありそうでしたので、

・大は小を兼ねそうなもの。
・固有のプログラミング言語をベースに開発され、正規表現の方言に強そうなもの。

という2つの観点で、10種類をピックアップしました。

|No.|Webサイト|対応言語|特徴|紹介記事|
|-|-|-|-|-|-|
|1|regex101<br>[https://regex101.com/](https://regex101.com/)|JavaScript, Python, PHP, Java, PCRE, Go|正規表現パターンの良し悪しの相対的な判断基準として、マッチするまでのステップ数を表示してくれる優れもの。|[正規表現のデバッグに重宝した神サイトを紹介してみる](https://dev.classmethod.jp/articles/useful-site-to-debug-reg-exp/)<br>[正規表現の内部処理が分かる便利ツールregex101を使ってみた](https://pisuke-code.com/debug-regexp-with-regex101/)<br>[正規表現のパフォーマンスの話をされても全くピンと来なかった僕は、backtrackに出会いました。 \- Qiita](https://qiita.com/mochizukikotaro/items/d36e61e56220da5f95d1)|
|2|RegExr<br>[https://regexr.com/](https://regexr.com/)|JavaScript, PCRE|regex101並みの高機能。好みによっては、regex101よりもいいという方がいらっしゃるかも。|[正規表現が試せる、使える！ RegExrのご紹介](https://beyondjapan.com/blog/2017/12/regex-tool/)|
|3|Debuggex<br>[https://www.debuggex.com/](https://www.debuggex.com/)|JavaScript, Python, PCRE|前出の二つにない正規表現の視覚化をしながらのデバッグが可能。|[JavaScript、Python、PCREの正規表現チェッカー](https://p--q.blogspot.com/2017/08/javascriptpythonpcre.html)|
|4|Regexper<br>[https://regexper.com/](https://regexper.com/)|JavaScript|正規表現の視覚化専用、視覚化ツールの中でピカイチ。|[正規表現組み立てるなら、regexper を使おう！](https://www.agent-grow.com/self20percent/2018/08/20/use-regexper/)|
|5|Rubular<br>[https://rubular.com/](https://rubular.com/)|Ruby|Rubyベースで開発された正規表現チェッカーのカリスマ的存在。|[初心者歓迎！手と目で覚える正規表現入門・その１「さまざまな形式の電話番号を検索しよう」 \- Qiita](https://qiita.com/jnchito/items/893c887fbf19e17d3ff9#%E9%9B%BB%E8%A9%B1%E7%95%AA%E5%8F%B7%E3%82%92%E6%8E%A2%E3%81%99)|
|６|Crystular<br>[http://www.crystular.org/](http://www.crystular.org/)|Crystal|Rubularに影響を受けた開発者によって作られたクローン的存在（以降も同様、機能に多少の増減あり）|なし|
|7|Scriptular<br>[https://scriptular.com/](https://scriptular.com/)|JavaScript|テスト文字列とテスト結果の並び方が、Rubularの横並びに対して縦積みとなっている。|[初心者歓迎！手と目で覚える正規表現入門・その１「さまざまな形式の電話番号を検索しよう」 \- Qiita](https://qiita.com/jnchito/items/893c887fbf19e17d3ff9#javascript%E4%B8%8A%E3%81%A7%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B)|
|8|Pythex<br>[https://pythex.org/](https://pythex.org/)|Python|Scriptularと同様に縦積みの構成、オプション（フラグ）はトグルボタン式、リファレンスも折り畳み式となっておりユニーク。|[Python入門 \(5\) \-正規表現｜npaka｜note](https://note.com/npaka/n/nfb33c6f3a9fe)|
|9|PHP Live Regex<br>[https://www.phpliveregex.com/](https://www.phpliveregex.com/)|PHP|Rubularクローンとしては多機能で置換もできるが、テスト文字列中のマッチ箇所がハッチングされず、一目でわかりにくい点が惜しい。|[PHPの正規表現をリアルタイムに動作確認できる「PHP Live Regex」](https://phpspot.org/blog/archives/2012/11/phpphp_live_reg.html)|
|10|Elixre<br>[http://elixre.lpil.uk/](http://elixre.lpil.uk/)|Elixir|マッチ箇所のハッチングズレに目を瞑れれば、Elixir用としては希少な存在。|なし|

## さいごに
最後までご覧いただき、ありがとうございました。
もし、こちらにないもので「これは定番でしょ〜」とか「こっちの方がいいよ〜」などのご意見がありましたら、コメント欄の方で優しく教えてあげてください😄

## 参考文献
本記事の執筆にあたり、以下の記事を参考とさせていただきました。
正規表現チェッカーを調べるための手掛かりとなり、大変助かりました。ありがとうございました🙇🏻‍♂️

・[正規表現 \| 正規表現の言語別チェッカー](https://www.javadrive.jp/regex-basic/programming/index1.html)
・[JavaScript、Python、PCREの正規表現チェッカー\-p\-\-q](https://p--q.blogspot.com/2017/08/javascriptpythonpcre.html)
・[ブラウザから手軽にチェックできる正規表現テストツールまとめ](https://nelog.jp/regular-expression-online-tools)
・[正規表現チェックツールまとめ \- Qiita](https://qiita.com/aqril_1132/items/c185c7ad84c129e5a2df)