贪婪与非贪婪模式详解(概述)

网上找到的贪婪与非贪婪模式详解,看了这一段根基大白贪婪与非贪婪模式的组成条件:

1. 概述

贪婪与非贪婪模式影响的是被量词修饰的子表达式的匹配行为,贪婪模式在整个表达式匹配乐成的前提下,尽大概多的匹配,而非贪婪模式在整个表达式匹配乐成的前提下,尽大概少的匹配。非贪婪模式只被部门NFA引擎所支持。

属于贪婪模式的量词,也叫做匹配优先量词,包罗:

{m,n}”、“{m,}”、“?”、“*”和“+”。

在一些利用NFA引擎的语言中,在匹配优先量词后加上“?”,即酿成属于非贪婪模式的量词,也叫做忽略优先量词,包罗:

{m,n}?”、“{m,}?”、“??”、“*?”和“+?”。

正则语法的角度来讲,被匹配优先量词修饰的子表达式利用的就是贪婪模式,如“(Expression)+”;被忽略优先量词修饰的子表达式利用的就长短贪婪模式,如“(Expression)+?”。

对付贪婪模式,各类文档的叫法根基一致,可是对付非贪婪模式,有的叫懒惰模式或惰性模式,有的叫委曲模式,其实叫什么无所谓,只要把握道理和用法,可以或许运用自如也就是了。小我私家习惯利用贪婪与非贪婪的叫法,所以文中城市利用这种叫法举办先容。

上文来自

看了以上段文章首先我大白贪婪和非贪婪是什么样的形式,以前我只知道 * 和 + 是贪婪的,*? 和 +?不贪婪了,本来{m,n}、{m}也是贪婪的。贪婪转成非贪婪也很是简朴,就是加一个 加个问号在贪婪的后头。总结了,做个条记吧。

上一篇: 正则表达式解二元方程式   |   下一篇:JS和PHP的正则表达式的区别» 标签:

分享到: 更多

相关日志:

正则匹配IP地点

iPhone顶用第三方东西(RegexKitLite)实现正则表达式

PHP判定字符串由数字和巨细写字母构成、长度至少6位

php验证时间名目,只有年代日

关于零宽断言的表明

正则表达式其实就是一个非凡的字符串

只能输入2位或5位整数的正则表达式

求正则表达式。匹配小数无关紧要,最多两位小数,必需大于零

php 匹配windows路径部门

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/7866.html