5

我需要使用正则表达式解析 jsonarray。我的json是

"keys": [
      {
        "host": "example.com"       
      },
      {
        "host": "example.net"
      }
    ]

我需要获取两个主机值。

4

2 回答 2

10

当您想提取文本时,grep您的朋友是:

grep -Po '(?<="host": ")[^"]*' myjsonFile

例如:

kent$  echo '"keys": [
      {
        "host": "example.com"       
      },
      {
        "host": "example.net"
      }
    ]'|grep -Po '(?<="host": ")[^"]*'

example.com
example.net
于 2012-12-17T11:17:19.477 回答
1

以下正则表达式将使用非贪婪的 kleene 通配符获取您的主机值:

/"host":\s"(.*?)"/
于 2012-12-17T11:15:42.390 回答