目前,我有一个这样的ID:
s2id_past_example_lashing_guidances_41_commodity_id

现在,我想将短语guidances_后的数字替换为自身+1。在这种情况下,我希望s2id_past_example_lashing_guidances_41_commodity_id-> s2id_past_example_lashing_guidances_42_commodity_id

我在regex101.com上尝试了(s2\w*_)(\d+)(\w*_id),但在这里被卡住了。任何帮助,将不胜感激。提前致谢。

最佳答案

如果您不想使用任何组,只匹配正确的id:

\d+(?=_[A-Za-z]+_id$)


这是一个example。它使用正向前瞻,以便仅找到_someword_id之前的数字。

它使更换更容易:



var str = "s2id_past_example_lashing_guidances_41_commodity_id";
var new_str = str.replace(/\d+(?=_[A-Za-z]+_id$)/, function($0) {
  return Number($0)+1;
});
console.log(new_str);

关于javascript - 用正则表达式替换ID号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40845746/

10-09 22:33