永发信息网

js 正则表达式问题 贪婪与非贪婪

答案:1  悬赏:60  手机版
解决时间 2021-03-19 21:50
js 正则表达式问题 贪婪与非贪婪
最佳答案
1)为什么只得到一个结果?
因为模式/(aa)+?/g可以匹配aa,aaa,aaaa...,因为输入串只有3个a,而正则表达式引擎的搜索模式是由左往右搜索,若匹配到一次后,下次将紧接上一次成功匹配后的下一个位置起,因为上一次成功的位置第2个a,所以第二次匹配时,将从第3个a开始,由于只有一个a,所以不满足子表达(aa)。所以只得到一个结果。
2)为什么没有输出["aa","aa"]这样的结果呢?
原因:见上。

3)如何才能得到["aa","aa"]这样的结果呢?请写出代码?
如上分析,可以再加一个a。即
var str = 'aaaa';
var reg = /(aa)+?/g;
var results = str.match(reg);
for (var x in results) alert('index='+x+',value='+results[x]);如果想体现贪婪与非贪婪效果,可以这样做:
 // 贪婪模式
 var str = 'aaaa';
 var reg = /a+/g;
 var results = str.match(reg);
 // 返回1个搜索结果,结果为所有的a
 for (var x in results) alert('index='+x+',value='+results[x]); // 非贪婪模式
 var str = 'aaaa';
 var reg = /a+?/g;
 var results = str.match(reg);
 // 返回4个搜索结果,每个结果均为a
 for (var x in results) alert('index='+x+',value='+results[x]);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
作文:关于"我"与长辈的文章(800字)以上,急!!!
小石潭记表现了小石潭的什么特点
我用别人淘宝号买的东西,付款的时候是用我的
鑫美家灯饰在什么地方啊,我要过去处理事情
诺基亚1280单机英文版
页面异步请求问题
游学博闻,盖谓其因游学所以能博闻也是什么意
张国立和张国强是啥关系呀?
可能他在忙呢的英文怎么写
我跟老公在深圳打工,性格不合老吵架,想离婚
昆明天成学校我想知道这个在什么地方
本人在美国留学,今年注册春季课程的时候发现
如何减少体毛生长
谁知道要加盟周广仁钢琴艺术中心需要多少钱?
我放弃一切,只身一人,来到你的城市,倘若你
推荐资讯
洛克王国觉醒大天使怎么得 在哪得
梦见很深的水.挡住了去路.后来过去了
天蝎座女星
如何让自己财运旺?
有关中国制造的英语短文
家庭成员怎么填写
北京和谐医院主治什么
妖精的尾巴纳兹会和丽莎娜在一起吗?
南海事件exo成员有没有怪罪张艺兴
六乜大桥我想知道这个在什么地方
难忘的第一次感悟教师节50个字
关于THINKPAD T400~全球联保问题~~~
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?