【问题标题】:Regular Expression to find a value in a string正则表达式在字符串中查找值
【发布时间】:2014-12-18 18:44:40
【问题描述】:

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

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

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

谢谢, 豪伊

【问题讨论】:

  • 您有没有尝试过任何解决方案?
  • 您是否正在寻找一个可以返回数组的正则表达式?正则表达式可能不是该工作的正确工具。为什么要使用正则表达式?
  • 用这个/\[id:(\d+)\]/找到所有类似的函数怎么样?在哪里捕获变成一个数组?

标签: javascript arrays regex


【解决方案1】:

假设您在数组中有给定的字符串。然后使用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);

【讨论】:

    【解决方案2】:
    \d+(?=\])
    

    试试这个。查看演示。

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

    【讨论】:

      【解决方案3】:

      你可以这样做:

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

      【讨论】:

        猜你喜欢
        • 2012-10-31
        • 2012-06-09
        • 1970-01-01
        • 2016-07-26
        • 1970-01-01
        • 2021-09-15
        • 1970-01-01
        • 1970-01-01
        • 2015-08-26
        相关资源
        最近更新 更多