replaceの第2引数に関数を渡すことで実現できる。
渡す関数の第1引き数は、正規表現にマッチした文字列。第2引き数は、キャプチャした対象($n)の値を受け取る。
(以下例だと_c
が_matchにc
がcaptureに入る)
// スネークケースの文字列をキャメルケースに変換したい
const toCamel = (str) => {
return str.replace(/_(\w)/g, (_match, capture) => {
return capture.toUpperCase()
});
}
toCamel('camel_case') // camelCase