正则表达式在javascript中第三个' - '之后替换字符串

时间:2014-01-29 15:01:28

标签: javascript regex replace

我需要在' - '出现3次后才更换字符串。 有人可以给我一个模式吗?

ex:xxyy-xxyy-xxyy-xxyy其中xx可以是多个字符或数字,我需要替换最后一组字符。

finalString = String.replace(/xx$/m, "z")

这不起作用,因为我不知道最后一组字符。

提前致谢。

3 个答案:

答案 0 :(得分:1)

你可以这样做:

var s = 'xxyy-xxyy-xxyy-xxyy';
var r = s.replace(/^((?:[^-]*-){3}).*/, '$1foo');
//=> xxyy-xxyy-xxyy-foo

答案 1 :(得分:0)

怎么样:

finalString = String.replace(/xx([^-]+)$/m, "z$1")

答案 2 :(得分:0)

这是我从anubhava's回答的内容,希望这是您所需要的

var s = 'xxyy-xxyy-xxyy-xxyy';
var r = s.replace(/^((?:[^-]*-){3})xx*/, '$1foo');