为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式的非贪婪模式

正则表达式的非贪婪模式

波斯汪 2019-03-07 14:15:25
"hellohelloworld".match(/(hello){1,2}?/);我在{1,2}后面加上?应该开启费贪婪模式了吧,但是为什么输出结果还是匹配了两次hello
查看完整描述

3 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

第一个是全局匹配第二个是括号匹配
其实你的写法是对的 match方法返回的数组除了第一位之后都是匹配括号内的结果
console.log("hellohelloworld".match(/(hello){1,2}?/))//[ "hello", "hello" ]
console.log("hellohelloworld".match(/(hello){1,2}/))//[ "hellohello", "hello" ]

查看完整回答
反对 回复 2019-03-20
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

如果你只要匹配一次,那你"hellohelloworld".match(/hello/)就好啦


查看完整回答
反对 回复 2019-03-20
?
BIG阳

TA贡献1859条经验 获得超6个赞

{n,m}?

匹配n到m次,尽可能少的匹配


查看完整回答
反对 回复 2019-03-20
  • 3 回答
  • 0 关注
  • 534 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信