正規表現は熟練のプログラマでさえ書き方を間違ってしまうことがあります。複雑な仕組みですが、使いこなすことでコード量を減らしたり、単なるコードだけでは難しいことも実現できます。 そんな正規表現をどう書けばいいのか、その参考になるのがgrexです。

grexの使い方

grexコマンドに続けてパターンになる文字列を記述します。

$ grex moongift moongtft
moong(i|t)ft

URLのパターンを記述するのに便利そうです。

$ grex https://www.moongift.jp/ http://moongift.jp
http(s://www\.moongift\.jp/|://moongift\.jp)

grexでは文字列のグルーピングが基本のようで、文字列の繰り返しや省略には対応していないようです。そのため理想的な正規表現とは言えないかも知れませんが、参考になる正規表現は出力されます。これをベースに自分なりのカスタマイズをすると便利そうです。

grexはRust製のオープンソース・ソフトウェア(Apache Licnese 2.0)です。

pemistahl/grex: A command-line tool for generating regular expressions from user-provided input strings