我有以下的正则表达式:想更多关于分类我正则表达式(正则表达式)
var re = new RegExp(/\btranslate\b(\(([-+]?([0-9]+)(\.[0-9]+)?)\s([-+]?([0-9]+)(\.[0-9]+)?)\))/g);
它匹配“翻译(-0.24588 125.3)”从“kjgjhgjkg jgjgj kjgjkg HJ翻译(-0.24588 125.3)jjhkjghj“ string。
下面显示了我接触到的内容。我找到一个特定的字符串,但我想进一步替换匹配的字符串。
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.24588" , “125.3”, “125”, “.3”]。
我认为它应该只有一个匹配,那将是 [“translate(-0.24588 125.3)”]。
所以,我其实需要更换翻译(-0.24588 125.3)与翻译(-0.24588,125.3)在“kjgjhgjkg jgjgj kjgjkg HJ翻译(-0.24588 125.3)jjhkjghj”字符串。我怎样才能做到这一点?
任何建议如何提高我的正则表达式或代码的其他部分是值得欢迎的。
看一看,只有一个子匹配与[this snippet]一起返回(http://jsfiddle.net/1g9bm1fx/1/)。这不是你的正则表达式的问题。 –
@stribizhev我看起来老兄。 –
@stribizhev嗨,所以我实际上需要在字符串“kjgjhgjkg jgjgj kjgjkg hj translate(-0.24588 125.3)jjhkjghj”翻译(-0.24588 125.3)**翻译(-0.24588 125.3)**,所以我该如何做到这一点?? –