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