我有Grafana 5.2仪表板从Prometheus采购数据 .
我在仪表板中有一些标签,似乎采用 *.<domain>
格式,例如 *.google.com
e.t.c但是,如果没有一些智能正则表达式忽略前两个字符,这不会与Grafana一起使用 .
我有以下正则表达式 (?<=^\*\.|^)[-a-zA-Z0-9._ ]+
,它似乎在Grafana中不起作用但在regex101中有效 . 它应该导致标签为 google.com
,即没有前两个字符 *.
.
有人可以让我知道是什么原因引起的吗?
1 回答
根据Grafana documentation,您可以捕获正则表达式的一部分以返回该子字符串:
因此,您可以使用
见regex demo .
这里,
^
- 字符串的开头(?:\*\.)?
- 一个可选的(由于匹配1或0序列的?
量词)non-capturing group匹配*.
子串(1或0次)([-a-zA-Z0-9._ ]+)
- capturing group匹配1个ASCII字母,数字,-
,.
,_
和空格,并将其匹配的值放入组1中,并在匹配的结果中将其返回到Grafana中 .