我需要使用正则表达式来解析jsonarray。我的json是
"keys": [
{
"host": "example.com"
},
{
"host": "example.net"
}
]
我需要获得两个主机值。
答案 0 :(得分:10)
当您想要提取文字时,grep
是您的朋友:
grep -Po '(?<="host": ")[^"]*' myjsonFile
例如:
kent$ echo '"keys": [
{
"host": "example.com"
},
{
"host": "example.net"
}
]'|grep -Po '(?<="host": ")[^"]*'
example.com
example.net
答案 1 :(得分:1)
以下正则表达式将使用非贪婪的kleene通配符获取主机值:
/"host":\s"(.*?)"/