正则表达式(regular expressions)

这是一个令人迷惑然而功能强大的通用计算机技术: 正则表达式(regular expressions) 。 本文做一些汇总实践,以期能逐步掌握。

PromQL 中常用的 =~ 表示启用正则表达式,经常会使用到的匹配方式是:

{job=~".+"}              # Good!
{job=~".*",method="get"} # Good!

. 表示字符, * 表示 任意数量 :

  • .* 具有贪婪的性质,首先匹配到不能匹配为止,根据后面的正则表达式,会进行回溯。

  • .*? 则相反,一个匹配以后,就往下进行,所以不会进行回溯,具有最小匹配的性质。

参考