正则表达式:在括号内找到几个模式

时间:2017-08-01 10:19:20

标签: regex

我正试图从源代码中提取方括号中的某些信息(键和值)。 文字示例:

    "analytics": [
        ["KEY", "BLA BLA"],["KEY2","BLA BLA"],
        ["KEY3", "BLA BLA"]
    ]
    [BAD STRING]

我想获得具有特定模式的字符串列表:[“KEY”,“Value”],而不是[]中的所有内容,因此我无法使用\[(.*?)\]
我尝试\[(\"\S+\"\,\s*\".*\")\]并且它在单独的行上适用于键值,但在一行之间取得[]之间的所有内容。 寻求帮助......

1 个答案:

答案 0 :(得分:2)

您可以使用以下正则表达式:

\["([^"]*)"\s*,\s*"([^"]*)"]

请参阅regex demo

<强>详情:

  • \[" - ["子字符串
  • ([^"]*) - 第1组:除"
  • 以外的任何0 +字符
  • " - 双引号
  • \s*,\s* - 包含0 +空格的,
  • " - 双引号
  • ([^"]*) - 第2组:除"
  • 以外的任何0 +字符
  • "] - 双引号然后]