正则表达式使用计算器但不使用AWS lambda函数

时间:2017-02-27 00:19:36

标签: regex lambda

正则表达式出现问题并收集[和]之间的所有数据。

使用该程序进行测试:http://regexr.com/

String 数据

{
  "Items": [
    {
      "UserID": "1487840267893246",
      "Timestamp": 1487204364877,
    },
    {
      "UserID": "1487840267893336",
      "Timestamp": 1487204364888,
    }
  ],
  "Count": 2,
  "ScannedCount": 3
}

以下(在AWS lambda中触发)的目的是在[和]之间拉出所有字符并输出它。 (\ [[^] * \])适用于上面的正则表达式计算,但只返回Lambda中的“undefined”。为什么呢?

Items = data.match(/"(\[[^]*\])"/);
console.log(Items);

2 个答案:

答案 0 :(得分:0)

另一种解决方案是将数据提取到数组中,如下所示

userID = data.match(/"UserID":"([^"]+)"/g);
console.log(userID);

答案 1 :(得分:0)

尝试使用dotall标志:

Items = data.match(/"(?s)\[.*\]");

你并不需要那些括号。