【问题标题】:extract data by regex in javascript通过javascript中的正则表达式提取数据
【发布时间】:2012-06-07 14:25:06
【问题描述】:

我有这个字符串:

"irrelevant(AB:1;CD:2;EF:3)"

我需要找到一种方法来提取 ABCDEF 值(示例中的 1、2 和 3)作为单个变量或作为数组,仅使用 JS 函数。

不相关的部分可能有 ( ) :;(AB:1;CD:2;EF:3) 部分总是在最后。值始终为数字,长度可变,标签始终为 2 个大写字母。

感谢您的帮助。

【问题讨论】:

  • 听起来你是在要求别人为你写一个正则表达式。到目前为止你有什么?
  • 试试自己。无论如何,需要字符串的例子。
  • 最简单的是:str.split(/[^0-9]*/)。它返回这些值的数组。
  • 我一直在尝试“无关(AB:1;CD:2;EF:3)”.match(/[AZ][AZ]*/g) 没有成功。 Dupadupa 的建议可以解决问题。谢谢!
  • 更改 ( 到 ({ 和 ) 到 }) 和 ;到,你有 JSON

标签: javascript regex arrays


【解决方案1】:

试试这个代码:

var txt = "irrelevant(AB:1;CD:2;EF:3)";
var m = txt.match(/(?:([A-Z]{1,}))\:([0-9]{1,})/gi);
var str = "";
for (var i = 0; i < m.length; i++) {
    var p = m[i].split (":");
    str += "Letters: " + p[0] + " - Number: " + p[1] + "\n";
}
​alert (str)​;

看看这个例子Demo

问候, 维克多

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 2016-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-13
    相关资源
    最近更新 更多