function spinalCase(str) {
//Replace aB to a-B
return str.replace(/[a-z]+[A-Z]/,'$1,-,$2');
}
spinalCase('ThisIsSpinalTap');
Я хочу, чтобы этот вход "ThisIsSpinalTap" на выход "This-Is-Spinal Tap-", используя регулярное выражение для целевого строчных букв, примыкающих к верхнему регистру, а добавление -
между ними. Неправильный вывод, который я получаю, это.
т $ 1, $ 2sspinaltap
Ссылка MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace
Использование групп захвата -
function tap(str) {
return str.replace(/([a-z])([A-Z])/g, '$1-$2');
}
console.log(tap('ThisIsSpinalTap'));
Вам нужны скобки вокруг частей, которые вы ожидаете от $ 1 и $ 2./([AZ] +) ([AZ])/