在javascript中否定正则表达式中的模式时出错

在javascript中否定正则表达式中的模式时出错,javascript,regex,Javascript,Regex,我正在尝试实现一个正则表达式,用于匹配单个单词中除第一个字符和任何后跟\uuuu的字符以外的所有字符,如下所示: "HELLO_WORLD".replace(^([A-Z]|/_[A-Z]),f => f.toLowerCase()) // Hello_World 但这给了我一个错误: SyntaxError: Unexpected token ^ 有人能指出什么地方不对吗? 我基本上是关注这个问题 编辑: 这是由于缺少字符串文字造成的,但现在我有一个后续问题,因为我的正则表达式没有按

我正在尝试实现一个正则表达式,用于匹配单个单词中除第一个字符和任何后跟
\uuuu
的字符以外的所有字符,如下所示:

"HELLO_WORLD".replace(^([A-Z]|/_[A-Z]),f => f.toLowerCase()) // Hello_World
但这给了我一个错误:

SyntaxError: Unexpected token ^
有人能指出什么地方不对吗? 我基本上是关注这个问题

编辑:

这是由于缺少字符串文字造成的,但现在我有一个后续问题,因为我的正则表达式没有按我所希望的那样工作

"HELLO_WORLD".replace(/^([A-Z]|_[A-Z])/,f => f.toLowerCase()) // hELLO_WORLD

这是当我想要
hELLO_WORLD
时,如果您想匹配字符串开头的A-Z或字符串中的_A-Z,那么插入符号应该在替换中

您只是将单个字符替换为小写,因为您没有使用
g
全局标志

您可以使用2个捕获组,而不是1,其中第二个捕获组匹配1+次A-Za-z,并且该匹配将替换为小写

(^[A-Z]|_[A-Z])([A-Za-z]+)

let result=“HELLO_WOrLD”。替换(/(^[A-Z]|[A-Z])([A-Za-Z]+)/g,(Z,g1,g2)=>g1+g2.toLowerCase());

控制台日志(结果)。这在语法上是无效的Javascript。你问题上的语法突出显示应该给你提示。好的,谢谢,我错过了。但我的正则表达式看起来也有问题。这不是我想要的。如果您的代码发生了更改,请回答什么问题?这是一个单独的问题。您的正则表达式中有一个未替换的
/
和缺少的