千家信息网

正则表达式的模式有哪些

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,这篇文章主要介绍了正则表达式的模式有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。正则表达式三种模式:贪婪模式、懒惰模式、独占模式
千家信息网最后更新 2024年12月12日正则表达式的模式有哪些

这篇文章主要介绍了正则表达式的模式有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

正则表达式三种模式:贪婪模式、懒惰模式、独占模式。

最后大家总结出了一个表格,如下所示:

根据这个表格,我们就能够判断出你写的正则表达式效率到底高不高。这样一来贪婪模式、懒惰模式、独占模式就非常的好判断了。

另外,通过官方文档对比我们可以看出规律:

  • 贪婪模式即在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等等,还能自动生成程序代码,并且内部带有大量的常用正则表达式。

用起来很简单,也很爽,一直用一直爽!

感谢你能够认真阅读完这篇文章,希望小编分享的"正则表达式的模式有哪些"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

0