如何计算和比较正则表达式匹配的数量

Posted

技术标签:

【中文标题】如何计算和比较正则表达式匹配的数量【英文标题】:How to count and compare amount of regex matches 【发布时间】:2021-11-15 11:48:23 【问题描述】:

我想使用 Sumo Logic 来计算调用不同 API 的频率。我想要一个带有 API 调用名称和值的表。我目前的查询是这样的:

_sourceCategory="my_category"
| parse regex "GET.+443 (?<getUserByUserId>/user/v1/)\d+" nodrop
| parse regex "GET.+443 (?<getUserByUserNumber>/user/v1/userNumber)\d+" 
| count by getUserByUserId, getUserByUserNumber

这会得到正确的值,但它们会转到不同的列。当我有更多变量时,表格会变得非常宽且难以阅读。

【问题讨论】:

回答我自己的问题,因为我想通了:我需要为所有 reexes 使用相同的组名。像这样:_sourceCategory="my_category" |解析正则表达式 "GET.+443 (?/user/v1/)\d+" nodrop |解析正则表达式 "GET.+443 (?/user/v1/userNumber)\d+" |按端点计数 如果您愿意,可以将您的答案添加为正确发布的答案,然后将其标记为已接受。我想让您知道的原因是,它使问题在搜索中显示为具有绿色可接受的答案,并且更多人可以更容易地找到它。谢谢! 【参考方案1】:

我想通了,我需要为所有 reexes 使用相同的组名。像这样:

_sourceCategory="my_category"
| parse regex "GET.+443 (?<endpoint>/user/v1/)\d+" nodrop
| parse regex "GET.+443 (?<endpoint>/user/v1/userNumber)\d+"
| count by endpoint

【讨论】:

以上是关于如何计算和比较正则表达式匹配的数量的主要内容,如果未能解决你的问题,请参考以下文章

(90) 正则表达式 (下) / 计算机程序的思维逻辑

6.正则表达式

Perl 中的正则表达式组:如何从正则表达式组中捕获与字符串中出现的未知数量/多个/变量匹配的元素到数组中?

计算机程序的思维逻辑 (90) - 正则表达式 (下 - 剖析常见表达式)

python正则表达式

C#当中如何使用正则表达式获取某一标签的所有属性 属性数量不确定