Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex CloudWatch洞察日志解析_Regex_Amazon Cloudwatch_Aws Cloudwatch Log Insights - Fatal编程技术网

Regex CloudWatch洞察日志解析

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。因此,该特

我一直在尝试解析资源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。因此,该特定顺序中的最大字符数为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个栏目合并的问题,不幸的是,我没有答案,但你总是可以考虑发布一个新的问题。当然。多谢