正则表达式在字符串中查找值

时间:2014-12-18 18:44:41

标签: javascript arrays regex

我有一堆看起来像这样的字符串:

  • 这是字符串1 [id:10]
  • 这是字符串2 [id:4]
  • 这是字符串3 [id:77]

使用javascript,如何获得10,4,77的数组?这些将是输入字段的值,所有字段都是类形式文本,所以我可以选择迭代它们。

谢谢, 豪伊

3 个答案:

答案 0 :(得分:2)

假设您在数组中有给定的字符串。然后使用Array.map您可以检索ID

var a = ["This is string 1 [id:10]", "This is string 2 [id:4]", "This is string 3 [id:77]"];

var result = a.map(function (item) {
    return /.*?\[id:([\d]{1,})\]/g.exec(item)[1];
});

console.log(result);

答案 1 :(得分:1)

\d+(?=\])

试试这个。看看演示。

https://regex101.com/r/vN3sH3/18

答案 2 :(得分:1)

你可以这样做:

var test = "[id:10]";
var result = test.split(":")[1].split("]")[0];
//result should have 10