regex - 在 JQ 上应用正则表达式

标签 regex bash jq

我使用 jq 获取 json 并获取一些值。

我有这个字符串

   "arn:aws:ecs:eu-west-1:foo:task/blablabla"

我想从 task/中获取子字符串,然后只返回 blablabla

现在我有了这个正则表达式。

 (.*task?)\/(.*$)

这给了我两组。

知道如何使用 jq 应用此正则表达式并获得第二组吗?

问候

最佳答案

在 jq 1.5 上,您可以将正则表达式传递给 match,然后获取 captures 的第二个元素的 string 属性。

jq 'match("(.*task?)\/(.*$)").captures[1].string'

关于regex - 在 JQ 上应用正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37328327/

相关文章:

python - 我应该如何在文件中打印与此模式匹配的字符串?

linux - 如何对字符串中的数字使用正则表达式?

java/javac -version 命令响应没有任何内容

linux - 如何使用 curl 将文本文件打印到 jira api

arrays - 使用带有内联输出的 jq 1.3 计算 JSON 数组的分组成员

json - 如何将两个简单的 JSON 数组与 JQ 合并在一起

c# - 正则表达式:匹配任何文本后跟特定封闭格式的模式

javascript - 特殊字符的正则表达式测试

regex - 如何在 ruby​​ 的正则表达式中对特殊字符和字母进行分组?

regex - jq 按模式拆分字符串