正则表达式的模式有哪些
这篇文章主要介绍了正则表达式的模式有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
正则表达式三种模式:贪婪模式、懒惰模式、独占模式。
最后大家总结出了一个表格,如下所示:
根据这个表格,我们就能够判断出你写的正则表达式效率到底高不高。这样一来贪婪模式、懒惰模式、独占模式就非常的好判断了。
另外,通过官方文档对比我们可以看出规律:
贪婪模式即在X字符后面增加限定符号如:?、*、+、{n}、{n,}、{n,m}
懒惰模式是在带有限定符号:?、*、+、{n}、{n,}、{n,m}的后面,增加"?",如:X??
独占模式也叫侵占模式,是在带有限定符号:?、*、+、{n}、{n,}、{n,m}的后面,增加"+",如:X?+
下面看一个贪婪模式的例子:
Reluctant 懒惰模式,demo 如下:
Possessive 独占模式。
3个模式的代码虽然很简单,但是,群里又有"懒货"提出了新要求了。能不能写一个工具来分析。这样我就不用死记硬背了。
这个想法很好。而且,根据我们上面的表格,你都可以自己手动写一个正则回溯分析工具了。原理很简单,你就对正则表达式判断是否独占、懒惰、贪婪的特征。如果存在其中的一个特征,就是这个特征的所在的模式了。
根据这个思路,我相信你是可以写出这样的程序的。当然,如果不会也没关系。我给你推荐一个工具,regexbuddy。这个工具长的是下面这样:
该工具支持多种程序语言正则表达式,如:perl,pcre,javascript,python,ruby,c#,java等等,还能自动生成程序代码,并且内部带有大量的常用正则表达式。
用起来很简单,也很爽,一直用一直爽!
感谢你能够认真阅读完这篇文章,希望小编分享的"正则表达式的模式有哪些"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!