Javascript 想对我的正则表达式(正则表达式)进行更多分类吗

Javascript 想对我的正则表达式(正则表达式)进行更多分类吗,javascript,regex,Javascript,Regex,我有以下正则表达式: var re = new RegExp(/\btranslate\b(\(([-+]?([0-9]+)(\.[0-9]+)?)\s([-+]?([0-9]+)(\.[0-9]+)?)\))/g); 它匹配“KJGJKKJKKJKG hj翻译(-0.24588 125.3)JJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ 现在,我已经接近如下所示。我找到一

我有以下正则表达式:

var re = new RegExp(/\btranslate\b(\(([-+]?([0-9]+)(\.[0-9]+)?)\s([-+]?([0-9]+)(\.[0-9]+)?)\))/g);
它匹配“KJGJKKJKKJKG hj翻译(-0.24588 125.3)JJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ

现在,我已经接近如下所示。我找到一个特定的字符串,但我想进一步替换匹配的字符串

var re = new RegExp(/\btranslate\b(\(([-+]?([0-9]+)(\.[0-9]+)?)\s([-+]?([0-9]+)(\.[0-9]+)?)\))/g);
undefined
var string = "kjgjhgjkg jgjgj kjgjkg hj translate(-0.24588 125.3) jjhkjghj";
undefined
var firstelem = re.exec(string);
undefined
firstelem
["translate(-0.24588 125.3)", "(-0.24588 125.3)", "-0.24588", "0", ".24588", "125.3", "125", ".3"]
这里,[“翻译(-0.24588 125.3)”,“(-0.24588 125.3)”,“-0.24588”,“0”,“0”,“0.24588”,“125.3”,“125”,“0.3”]

我认为应该只有一场比赛,那就是 [“翻译(-0.24588 125.3)”]

因此,我实际上需要将translate(-0.24588125.3)替换为translate(-0.24588125.3),在“KJGJKKKJGKJKJGJJJJJJJJJJJJJJJ-translate(-0.24588125.3)JJJKJKJGHJ”字符串中。我该怎么做


欢迎对如何改进正则表达式或代码的其他部分提出任何建议。

若要在
translate(value)
字符串中添加逗号,您可以如下修改代码:

var re=/\b(translate\b(?:\(?:[-+])(?:[0-9]+)(?:\[0-9]+))\s([-+])(?:[0-9]+)(?:\[0-9]+)/g;
var str='KJGJKJKJKJKJKJKJJKHJ翻译(-0.24588 125.3)JJJKJGHJ';
var结果=str.replace(re,“$1,$2”);

记录(结果)看一看,只返回一个子匹配。这不是你的正则表达式的问题。@stribizhev我看起来像是哥们儿。?@stribizhev Hi所以我实际上需要用translate(-0.24588 125.3)替换translate(-0.24588 125.3)替换字符串“KJGJJJKKKKKKKJJKJJJJJJJJJJJJJJJ”中的translate(-0.24588 125.3)那么我该怎么做呢?如果你想使用代码片段,你也应该打印出来(所以“Run code snippet”显示了一些东西),否则它就毫无意义了。很好的一件事我学到了,制作正则表达式并不是唯一需要做的事情,它将如何帮助您实现您的解决方案Thanx@Stribizev