如何在javascript中提取斜杠之间的数字



我有一个这样的字符串,

ver1.1/hello/12345/bar -> extract 12345
world/098767123/foo   -> extract 098767123
ver1.2344/foo/78687115/ -> extract 78687115

我用了/d+/g/d+/,但运气不好,ver的数字总是出现。我如何提取没有任何字符和斜杠之间的数字?

使用捕获组仅捕获斜杠之间的数字:/(d+)/

console.log("ver1.1/hello/12345/bar".match(//(d+)//))

您可以使用一个捕获组,例如:

var regex = //(d+)//;
var string = "ver1.2344/foo/78687115/";
var match = string.match(regex);
if (match) {
console.log(match[1]);
}

对于出现在字符串开头或结尾的数字,也可以使用/(?:/|^)(d+)(?:/|$)/。它只有两个非捕获组,表示"match/或开始/结束">

您可以向匹配的输出添加一个映射以去掉斜杠。使用全局标志g也可以防止重复的结果。

const regEx = /(?:/)(d+)(?:/)/g;
const source = "ver1.1/hello/12345/bar";
const arrResults = Array.from(source.matchAll(regEx), m => m[1]);
console.log(arrResults)

相关内容

  • 没有找到相关文章

最新更新