InfluxDB如何转义方括号“[”

InfluxDB how to escape square brackets "["

我正在查询 influx D.B。如下图,

select * from measurement where '/cda/stats/@name' =~ /cda\/stats.*/ limit 5;

上面的查询工作正常,但是当我尝试在查询字符串中指定方括号时它不起作用,例如"/cda/stats/[name='set']

select * from mgmgrand where '/cda/stats/@name' =~ /cda\/stats[name='set'].*/ limit 5;

不确定如何在上述查询中转义方括号。

反斜杠“\”不适用于方括号。

我在 influx DB 中对此进行了测试,发现了一个奇怪的解决方案(我不知道为什么会这样)。 如果您的标识符未被引用,将单引号更改为双引号,将 '/cda/stats/@name' 替换为 "/cda/stats/@name" 似乎可以修复它。

select * from mgmgrand where "/cda/stats/@name" =~ /\[/
//matches the value /cda/stats/[name='set']

在不更改引号的情况下,对于没有 [ 的值,它可以正常工作,但在尝试匹配 [ 字符时不起作用。

select * from mgmgrand where '/cda/stats/@name' =~ /cda/
//matches the value /cda/stats/[name='set'] 
select * from val1 where '/cda/stats/@name' =~ /\[/
//does not give an output

如果您使用带引号的标识符将 '/cda/stats/@name' 替换为 "'/cda/stats/@name'""\"/cda/stats/@name\"" 修复它。