Javascript replace()$ 1

时间:2016-03-28 00:46:44

标签: javascript

输入字符串是" thisIsSpinalTap"。我用它的小写版本替换了每个大写字母。我还想在信之前添加一个 - 以获得脊柱病例效果"这是脊柱水龙头"。

我写了以下代码:

str = str.replace(/([A-Z])/g, '-').toLowerCase();

用 - 替换每个大写字母 - 以产生" this-s-pinal-ap"。这不是预期的效果。

我读到使用$ 1可以产生我想要的效果,而且确实如此。

str = str.replace(/([A-Z])/g, '-$1').toLowerCase();

$ 1如何附加 - 字符串,而不是替换大写字母?

1 个答案:

答案 0 :(得分:2)

$1是正则表达式中捕获的第一个组。

因此,在这种情况下,-$1将替换与-匹配的内容,后跟([A-Z])中捕获的大写字母。