「VerbalExpressions」は複雑で理解が分かりづらい正規表現をメソッド呼び出しで分かりやすくしようとするJavaScriptライブラリです。
このライブラリをつかえば、URLにマッチする文字列かどうかを以下のようなコードでテストすることが可能になります。
// Create an example of how to test for correctly formed URLs
var tester = VerEx()
.startOfLine()
.then( "http" )
.maybe( "s" )
.then( "://" )
.maybe( "www." )
.anythingBut( " " )
.endOfLine();
// Create an example URL
var testMe = "https://www.google.com";
// Use RegExp object's native test() function
if( tester.test( testMe ) ) alert( "We have a correct URL "); // This output will fire
else alert( "The URL is incorrect" );
console.log( tester ); // Ouputs the actual expression used: /^(http)(s)?(\:\/\/)(www\.)?([^\ ]*)$/
最初のメソッドチェーンの部分が、VerbalExpressionsのパワーですが、元の正規表現
/^(http)(s)?(\:\/\/)(www\.)?([^\ ]*)$
と比べて分かりやすくなったかどうか意見がわかれるところかも。理解しやすいかもしれないけれど、長いんですよね…。
すでに正規表現に慣れてしまった人にとっては冗長かもしれませんが、慣れていない人でかつ英語圏の人からするとわかりやすいのかもしれません。他の言語用のライブラリも存在するようです。