正则表达式的非贪婪模式

"hellohelloworld".match(/(hello){1,2}?/);

https://img1.mukewang.com/5c919e130001c6be06040210.jpg我在{1,2}后面加上?应该开启费贪婪模式了吧,但是为什么输出结果还是匹配了两次hello


波斯汪
浏览 535回答 3
3回答

慕尼黑的夜晚无繁华

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

Smart猫小萌

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

BIG阳

{n,m}?匹配n到m次,尽可能少的匹配
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript