我希望检测JSON值中的异常。 这是通过jq
进行数据查询的示例"2014-03-26 01:58:00"
"9019549360"
"109092812_20150626"
"134670164"
""
"97695498"
"680561513"
我想显示所有包含-
或_
或为blank
的值。
换句话说,我想显示以下输出
"2014-03-26 01:58:00"
"109092812_20150626"
""
现在,我尝试了以下方法:
select (. | contains("-","_"," "))'
这似乎可行,但是为了使其更健壮,我想将其扩展为包括所有特殊字符。
答案 0 :(得分:1)
您的查询不会检测到空字符串,并且可能多次发出相同的字符串。使用test
会更容易,例如:
select( length==0 or test("[-_ ]") )
还要注意,初步的“。”在您的查询中是不必要的。
从其中一项注释中,您似乎将要指定“ [^ a-zA-Z0-9]”或类似的变量作为test
的参数。