使用RegExr跳过第一个位置匹配Javascript



尝试将字符串IPProtocol替换为I_p_protocol

str.replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`)

产生_i_p_protocol

你可以使用负向前看来确保不是string from start of string:(?!^)[A-Z]

const str = "IPProtocol";
const new_str = str.replace(/(?!^)[A-Z]/g, letter => `_${letter.toLowerCase()}`);
console.log(new_str);

您可以使用:

var str = 'IPProtocol';
var r = str.replace(/B[A-Z]/g, letter => `_${letter.toLowerCase()}`);
console.log(r)
//=> "I_p_protocol"

这里我们使用B[A-Z],它在单词字符之间进行大写字母匹配,但不是在单词的第一个位置。

最新更新