jq 数组的负select个元素

jq negative select elements of array

将数据集作为具有值的数组行,例如:

["Dog"、"cat"、"Bird"]

我想得到一个数组,其中包含所有与正则表达式不匹配的值,但我不愿意使用负捕获组(正则表达式比这更复杂) - 所以如果我的标准是第一个字母必须是资本,输出数组应该是 ["cat"]

all those values that do not match a regex

听起来 test(_) | not 就是您要找的。假设您打算写 "first letter must NOT be a capital",可以使用以下过滤器:

map(select(test("^[A-Z]")|not))