我有一个 JSON 文档,正在查询一些数据。我需要循环遍历 ID 并找到包含字母的 ID。目前我有:
cat results.json | jq '.array|map(select( (.id|contains("a")) or (.id|contains("b")) ))' etc. etc.
如何编写更有效的查询/正则表达式来在一个 contains()
函数中执行此操作,例如像这样:
cat results.json | jq '.array|map(select( (.id|contains("a-z")) ))' etc. etc.
谢谢!
最佳答案
要检查字符串是否包含字母表中的字母,可以使用 test("[A-Za-z]")
。
还要考虑字符类,例如
test("\\p{Alpha}")
test("\\p{L}")
为了安全起见,您可能还需要选择或检查字符串,例如使用以下形式:
select( .id | strings | test(...) )
关于json - 如何使用 jq 在 JSON 文件中查找包含任意字母的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67825049/