jq负选择数组元素

7

将数据集视为带有值的数组行,例如:

[ "Dog", "cat", "Bird"]

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

1个回答

12

不符合正则表达式的所有值

听起来像是你需要的是test(_)| not。假设你的意思是“第一个字母不能是大写”,可以使用以下过滤器:

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

但是输出只是true/false,而不是测试的值。 - Konrads
你一定是在开玩笑吧。或者你可能错放了一个括号? - peak
他指的是一个“筛选器”,然后将其放入正确的选择中。 - Hvisage
@Hvisage - 在 jq 中,所有的“函数”都是过滤器。 - peak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接