Javascript Regex:积极的Lookbehind替代方案

时间:2016-12-28 10:44:28

标签: javascript regex

寻找替代方案:

(?<=\.\d\d)\d

(一段时间后匹配第三位数字)

我知道我可以通过其他方法解决它,但我必须使用正则表达式,更重要的是我必须在字符串上使用replace,而不添加回调。

1 个答案:

答案 0 :(得分:4)

以消耗模式转换lookbehind并使用捕获组:

并按如下所示使用它:

var s = "some string.005";
var rx = /\.\d\d(\d)/;
var m = s.match(/\.\d\d(\d)/);
if (m) {
  console.log(m[1]);
}

编辑:

要使用当前规范从3中删除str.123,请使用相同的捕获方法:捕获所需内容并使用以下内容恢复结果中捕获的文本替换模式中的$n反向引用,只需匹配您需要删除的内容。

var s = "str.123";
var rx = /(\.\d\d)\d/; 
var res = s.replace(rx, "$1");
console.log(res);