gpt4 book ai didi

javascript - 想要对我的 RegEx(正则表达式)进行更多分类

转载 作者:行者123 更新时间:2023-11-28 00:07:39 25 4
gpt4 key购买 nike

我有以下正则表达式:

var re = new RegExp(/\btranslate\b(\(([-+]?([0-9]+)(\.[0-9]+)?)\s([-+]?([0-9]+)(\.[0-9]+)?)\))/g);

它与“kjgjhgjkg jgjgj kjgjkg hj translate(-0.24588 125.3) jjhkjghj”字符串匹配“translate(-0.24588 125.3)”

现在我所采取的方法如下所示。我找到了一个特定的字符串,但我想进一步替换该匹配的字符串。

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”,“.24588”,“125.3”,“125”,“。 3"]

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

所以,我实际上需要将 "kjgjhgjkg jgjgj kjgjkg hj translate( -0.24588 125.3) jjhkjghj" 字符串。我怎样才能做到这一点?

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

最佳答案

要在 translate(value value) 字符串中添加逗号,您可以像这样修改代码:

var re = /\b(translate\b(?:\((?:[-+]?(?:[0-9]+)(?:\.[0-9]+)?)))\s([-+]?(?:[0-9]+)(?:\.[0-9]+)?\))/g; 
var str = 'kjgjhgjkg jgjgj kjgjkg hj translate(-0.24588 125.3) jjhkjghj';
var result = str.replace(re, "$1, $2");
document.write(result);

我所做的是重新分配捕获组,以便只有两个捕获组。第一个 (translate\b(?:\((?:[-+]?(?:[0-9]+)(?:\.[0-9]+)?))) 匹配 translate(value),第二个 - ([-+]?(?:[0-9]+)(?:\.[0-9]+ )?\)) - 匹配 value)

关于javascript - 想要对我的 RegEx(正则表达式)进行更多分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31206535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com