json - 如何使用 jq 在 JSON 文件中查找包含任意字母的属性?

标签 json regex jq character-class

我有一个 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/

相关文章:

json - 如何使用 Bash 创建包含来自许多文件的同一行的值的数组?

json - 如何在 jq 中为 CSV 导出添加标题?

javascript - 如何添加到现有的 JSON.stringify 字符串

Java正则表达式混淆

json - 在 Go 中解码时输入检查 json 值

c# - .NET RegEx 字母/符号/空格

Java 正则表达式帮助

json - 如何使用 jq 从 JSON 字符串中选择日期范围?

json - 未编码的 JSON 不返回任何内容

ruby-on-rails - Rails 4 - 简单地在另一个 JSON 中包含多个 JSON