骆驼大小写到小写第一个字符正则表达式

问题描述

我正在尝试使用 .replace() 和 REGEX 重命名某种类型的字符串。

  • myCustomClass -> customClass
  • myCustomOption -> customOption

我需要一些实际上可以做到这一点的东西 string.charat(0).toLowerCase() + string.slice(1),但使用 REGEX。

所以我正在做这样的事情

var myCustomClass = 'myCustomClass',myCustomOption = 'myCustomOption';
    
document.body.innerHTML = myCustomClass.replace('my','')
                         .replace(/([A-Z])/,('$1').toLowerCase() ) + '<br>'

document.body.innerHTML += myCustomOption.replace('my','')
                          .replace(/([A-Z])/,('$1').toLowerCase() )

结果是 CustomClassCustomOption,这不是我所期望的。请问我该怎么做?

解决方法

按照建议,这是解决方案:

string.replace(/[A-Z]/,(match) => match.toLowerCase() )

演示:

var myCustomClass = 'myCustomClass',myCustomOption = 'myCustomOption';
    
document.body.innerHTML = myCustomClass.replace('my','')
                         .replace(/[A-Z]/,(match) => match.toLowerCase() ) + '<br>'

document.body.innerHTML += myCustomOption.replace('my','')
                          .replace(/[A-Z]/,(match) => match.toLowerCase() )