JavaScriptの正規表現をパワーアップ!「XRegExp」
※ 画面は公式サイトより
Webアプリケーションを開発したり、よりコーディング量を少なくシステムを開発する上で正規表現の存在は欠かすことができない。良い正規表現を組めるかどうかで見通しの良いシステムができるかどうか決まってくるだろう。
Named captureをJavaScriptでも
昔からある正規表現ではあるが、JavaScriptでサポートされているものは機能があまり多くない。他のプログラミング言語同等のレベルに引き上げてくれるのがXRegExpだ。
今回紹介するオープンソース・ソフトウェアはXRegExp、JavaScriptの正規表現を機能強化するライブラリだ。
XRegExpは通常使える正規表現機能に加えて、幾つかの機能追加を行っている。特徴的なものとしては、Named captureがあるだろう。これは正規表現のマッチング結果を$1、$2ではなく、指定した名前(nameやvalueなど)に割り当てられる機能だ。後方参照も可能だ。.NETやRuby1.9、Perl、Pythonなどでサポートされているものと同等だ。
無名関数を使えばブロック的に使える
さらにescapeメソッドによって正規表現の中で使われる特殊文字をエスケープしてくれる機能や、再帰的に正規表現を実行するmatchWithinChain、正規表現で配列のフィルタリングを行うfilter、forEachExecによってマッチした内容を無名関数を実行するようなこともできる。
小さな所ではsフラグによって.が改行にもマッチするようになる。対応ブラウザはIE5.5以上、Firefox 2以上、Safari 3以上、Google Chrome 1以上、Opera 9以上となっている。幅広いブラウザに対応でき、Webアプリケーション開発に役立てられる便利なライブラリだ。
XRegExp: JavaScript regex library