You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JMESPath中对字符串开头进行正则式匹配(AWS EMR场景)

用JMESPath匹配EMR集群名称前缀的两种方案

方案1:用starts_with函数(简单直接)

直接把原来的精确匹配改成前缀检查,命令如下:

aws emr list-clusters --active --query 'Clusters[?starts_with(Name, `My-Cluster`)].Id' --output text

starts_with(Name, My-Cluster)会筛选出所有名称以My-Cluster开头的集群,不管后面跟什么后缀(比如你的My-Cluster-082022),完全满足需求。

方案2:用正则匹配(适合复杂规则)

如果需要对后缀格式做限制(比如必须是6位数字),可以用JMESPath的matches函数配合正则:

aws emr list-clusters --active --query 'Clusters[?Name.matches(`^My-Cluster-\\d{6}$`)].Id' --output text

这里的正则^My-Cluster-\\d{6}$含义是:

  • ^:字符串必须从My-Cluster-开头
  • \\d{6}:后面紧跟6位数字
  • $:字符串到6位数字结束

注意:JMESPath里正则的反斜杠要转义成\\,不然会被CLI解析成特殊字符。

两种方法按需选择,前者简单高效,后者灵活可控。

内容的提问来源于stack exchange,提问作者RunThor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 13:45:30