Regex CloudWatch洞察日志解析
我一直在尝试解析资源arn ex(arn:aws:ec2:us-east-1:0123456789:volume/vol-gg4gggs0svevb3000)以提取CloudWatch日志洞察中的vol-*,但无法获得正确的正则表达式模式和期望的结果 我试过使用下面的模式,但没有结果Regex CloudWatch洞察日志解析,regex,amazon-cloudwatch,aws-cloudwatch-log-insights,Regex,Amazon Cloudwatch,Aws Cloudwatch Log Insights,我一直在尝试解析资源arn ex(arn:aws:ec2:us-east-1:0123456789:volume/vol-gg4gggs0svevb3000)以提取CloudWatch日志洞察中的vol-*,但无法获得正确的正则表达式模式和期望的结果 我试过使用下面的模式,但没有结果 parse @message /.[v,o,l].-([0-9][a-z]){0,17}/ 在您尝试的模式中,这部分([0-9][a-z]){0,17}对一个数字重复0到17次,紧接着是一个字符a-z。因此,该特
parse @message /.[v,o,l].-([0-9][a-z]){0,17}/
在您尝试的模式中,这部分
([0-9][a-z]){0,17}
对一个数字重复0到17次,紧接着是一个字符a-z。因此,该特定顺序中的最大字符数为34
还要注意,重复捕获组时,组值包含上一次迭代的值。在本例中,这将是2个字符
这部分[v,o,l].
可以写成[vol,].
并匹配3个字符:一个可以匹配除换行符以外的任何字符的点,然后是v
o
l
或中的1个,因为它是一个点,并且再次是一个可以匹配除换行符以外的任何字符的点
阅读时,要提取的部分应位于命名的捕获组中
parse @message /(?<volume>vol-[0-9a-z]{17})/
parse@message/(?vol-[0-9a-z]{17})/
模式匹配
(?
命名捕获组卷
vol-
逐字匹配
[0-9a-z]{17}
将字符类中列出的任何字符重复17次
)
关闭命名组
非常感谢您。成功了。我还试图合并两个基于公共列的查询,但我在您提到的文档中找不到任何地方,也找不到任何我可以找到的来源。有什么线索吗?。再次感谢2个栏目合并的问题,不幸的是,我没有答案,但你总是可以考虑发布一个新的问题。当然。多谢