我有以下内容:
var test = "deskLight";
console.log(test.replace(/([a-z])([A-Z])([a-z])/g, "$1_" + "$2".toLowerCase() + "$3" )));
结果是desk_Light
我想要desk_light
你可以使用以replace()
为参数的function callback match
。
text = 'deskLight'.replace(/([a-z])([A-Z])([a-z])/g, function(match)
{
return match[0] + '_' + match[1].toLowerCase() + match[2];
}
)
console.log(text)
甚至是@RobG更简单的解决方案。
text = 'deskLight'.replace(/(^[a-z]*)(.*$)/,'$1_$2').toLowerCase()
console.log(text)