Javascript JS中的正则表达式-添加要替换的匹配项

Javascript JS中的正则表达式-添加要替换的匹配项,javascript,regex,Javascript,Regex,我在任何地方都找不到解决这个问题的方法,但我认为这是因为我没有正确的术语 我有这个: var text = "Foo:Bar"; // I want -> "Foo: Bar" text = text.replace(new RegExp("Foo:[a-z]", "ig"), "Foo: "); 我有很多foos,我想在冒号后面加一个空格。只有当我能告诉冒号后面有一个字母时,我才会这么做。但是,当我执行上述操作时,我得到: // -> "Foo: ar" 我该如何将匹配的[a-

我在任何地方都找不到解决这个问题的方法,但我认为这是因为我没有正确的术语

我有这个:

var text = "Foo:Bar"; // I want -> "Foo: Bar"
text = text.replace(new RegExp("Foo:[a-z]", "ig"), "Foo: ");
我有很多
foo
s,我想在冒号后面加一个空格。只有当我能告诉冒号后面有一个字母时,我才会这么做。但是,当我执行上述操作时,我得到:

// -> "Foo: ar"
我该如何将匹配的
[a-z]
放入替换的末尾?

您需要的是一个<代码>[a-z]在正则表达式中使用字母表,但环顾四周不会使用字符
(?=[a-z])
此正向前瞻声明匹配(
Foo:
)后面必须跟一个字母表。因此,只有在后跟字母表时,此正则表达式才会匹配所有
Foo:
字符串。将匹配的
Foo:
替换为
Foo:
将获得所需的输出

text = text.replace(new RegExp("Foo:(?=[a-z])", "ig"), "Foo: ");


您可以使用简单捕获组,并在替换字符串中将其引用为
$1

var text=“Foo:Bar”;//我要->“Foo:Bar”
text=text.replace(新的RegExp(“Foo:([a-z])”,“ig”),“Foo:$1”);

警报(文本)++用于钉住它,并告诉我它叫什么。成功了!谢谢。这是我最初的想法。谢谢,我以后会用的!你的正则表达式怎么了?只需添加一个捕获组<代码>文本=文本。替换(/Foo:([a-z])/ig,'Foo:$1')@sin,我不知道什么是俘虏小组。。。
text = text.replace(/Foo:(?=[a-z])/ig, "Foo: ");