使用MongoDB数据源时Grafana变量正则匹配无结果问题
解决Grafana MongoDB变量正则提取无结果问题
问题分析
你的正则用分支匹配(|)分别捕获name或id的单一值,但Grafana要求单次匹配同时捕获text和value两个命名组,才能映射成一个完整的变量选项(显示名+对应值)。原正则无法在同一次匹配中拿到两组值,导致Grafana无法生成有效结果。
解决方案
替换为能匹配整行、同时捕获两组值的正则:
name="(?<text>[^"]+)", id="(?<value>[^"]+)"
- 去掉全局修饰符
g:Grafana会自动逐行处理返回结果,无需全局匹配 - 该正则会匹配每行完整的
name和id条目,将用户名存入text组(作为变量显示名),ID存入value组(作为变量实际值)
验证步骤
把上述正则填入Grafana变量设置的「正则表达式」输入框,重新运行查询,即可生成显示为用户名、值为对应ID的变量选项。
内容的提问来源于stack exchange,提问作者Jolle
相关产品推荐
相关产品推荐

