好好学一遍JavaScript 笔记(六)——正则表达式基础二(2)
来源:未知 责任编辑:责任编辑 发表时间:2015-09-17 09:43 点击:次
*/
/**
* 匹配:bead、baed、beed、baad、bad
*/
//var eaTest = /b[ea]{1,2}d/ ;
var sToMatch = "abbbaabbbaaabbb1234";
var re1 = /.*bbb/g; //贪婪
var re2 = /.*?bbb/g; //惰性 www.2cto.com
var re3=/.*+bbb/g; //支配
alert("re1:"+re1.exec(sToMatch)+" \n--re2:"+re2.exec(sToMatch));
贪婪的、惰性的和支配性的量词
贪婪量词先看整个字符串是否匹配、如果没有发现匹配、它就去掉
该字符串中的最后一个字符、并再次尝试。如果还是没有发现匹配
、那么再次去掉最后一个字符、这个过程会一直重复直到发现一个
匹配或者字符串不剩任何字符。
惰性量词首先看字符串中的第一个字符是否匹配、如果单独这一个
字符还不够、就读入下一个字符、组成两个字符的字符串。如果还
是没有发现匹配、惰性量词继续从字符串中添加字符知道发现匹配
或者整个字符串都检查过也没有匹配。惰性量词和贪婪量词的工作
方式恰好相反。
支配量词只尝试匹配整个字符串。如果整个字符串不能产生匹配、
不做进一步尝试。支配词其实简单的说、就是一刀切。
怎样表示贪婪、惰性和支配量词呢?正是完全使用星号、加号和问号。
例如、单独一个问号(?)是贪婪的、但是问号后面在跟一个问号(??)就
是惰性的。要使问号成为支配量词、在后面加上一个加号(?+)。
贪婪 惰性 支配 描述
? ?? ?+ 零次或一次出现
* *? *+ 零次或多次出现
+ +? ++ 一次或多次出现
{n} {n}? {n}+ 恰好n次出现
{n,m} {n,m}? {n,m}+ 至少n次至多m次出现
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>