为什么下面的代码返回“ZZZCamelCase”?这样的正则表达式不会检查字符串是否以小写 a-z 开头和结尾吗?据我了解,str
变量应该匹配这样的条件,因此控制台输出应该是“ZZZZZZZZZZZZ”,但显然它以某种方式破坏了 str
,并根据正则表达式检查子字符串。为什么?我怎样才能告诉程序将“testCamelCase”视为一个字符串?
var str = "testCamelCase";
console.log(str.replace(/^[a-z]+/, 'Z')); // ZZZCamelCase
最佳答案
此处您要匹配一个或多个小写字母。这将是字符串中的“test”,因为后面是一个大写“C”。所以只有“test”被“ZZZ”取代
console.log(str.replace(/^[a-z]+/, 'ZZZ')); // ZZZCamelCase
使用
str.replace(/[a-z]/ig, 'Z')
获取“ZZZZZZZZZZZZ”
关于javascript - 正则表达式似乎将一个字符串视为多个子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33147007/