输入字符串是" thisIsSpinalTap"。我用它的小写版本替换了每个大写字母。我还想在信之前添加一个 - 以获得脊柱病例效果"这是脊柱水龙头"。
我写了以下代码:
str = str.replace(/([A-Z])/g, '-').toLowerCase();
用 - 替换每个大写字母 - 以产生" this-s-pinal-ap"。这不是预期的效果。
我读到使用$ 1可以产生我想要的效果,而且确实如此。
str = str.replace(/([A-Z])/g, '-$1').toLowerCase();
$ 1如何附加 - 字符串,而不是替换大写字母?
答案 0 :(得分:2)
$1
是正则表达式中捕获的第一个组。
因此,在这种情况下,-$1
将替换与-
匹配的内容,后跟([A-Z])
中捕获的大写字母。