哪位大神可以解释一下为什么'abcdef'.replace(/[a-z]+/,'1');的结果是‘ 1 ’而不是‘ 111111 ’呢?
1
jings Oct 28, 2015 via Android
加好代表一个或一个以上 replace 左边匹配 abcdef 替换成 右边 1 就为 1
去掉加号和换成?号 分别测试下 |
2
BOYPT Oct 28, 2015 'abcdef'.replace(/[a-z]/g,'1');
"111111" |
3
jonnyhsy Oct 29, 2015
'abcdef'.replace(/[a-z]+?/,'1');
"1bcdef" "?" 加在重复匹配符(+/./?)表示非贪婪,默认贪婪匹配,所以你的正则吃掉了所有的"abcde", 替换成了 1 |
4
SoloCompany Oct 29, 2015
'abcdef'.replace(/[a-z]+?/g,'1 ’);
111111 |