让正则表达式更人性化

前端之家收集整理的这篇文章主要介绍了让正则表达式更人性化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
正则表达式应该是程序员的基本功,但这种符号记法并不是很人性化。 VerbalExpressions 通过链式方法和更易于理解的方法名使正则表达式的书写更简单、更易读。最初的VerbalExpressions是一个JavaScript的library,不过目前已经有很多语言(Ruby、C#、Python、Java、Groovy、PHP、Haskell、C++、Objective-C)的实现版本。

https://github.com/VerbalExpressions/JSVerbalExpressions

Examples

Testing if we have a valid 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\.)?([^\ ]*)$/


Replacing strings
// Create a test string
var replaceMe = "Replace bird with a duck";

// Create an expression that seeks for word "bird"
var expression = VerEx().find( "bird" );

// Execute the expression like a normal RegExp object
var result = expression.replace( replaceMe,"duck" );

alert( result ); // Outputs "Replace duck with a duck"


Shorthand for string replace
var result = VerEx().find( "red" ).replace( "We have a red house","blue" );
alert( result ); // Outputs "We have a blue house"


同时推荐一个在线的正则表达式可视化工具: http://www.regexper.com/

猜你在找的正则表达式相关文章