让正则表达式更人性化

正则表达式应该是程序员的基本功,但这种符号记法并不是很人性化。 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/

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...