Error: repetition operator missing expression

the below works if 1 cpu is selected at a time, however if i select multiple the below error message occurs. have tried to resolve however little success…

using influxdb2 flux and grafana

from(bucket: “default”)
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r[“host”] =~ /${server}/)
|> filter(fn: (r) => r[“cpu”] =~ /${cpu}/) ← line with error
|> filter(fn: (r) => r[“_measurement”] == “system_cpu”)
|> filter(fn: (r) => r[“_field”] == “usage_system”)
|> map(fn: (r) => ({cpu: r.cpu, _time: r._time, _value: r._value * 100.0}))
|> group(columns: [“cpu”])
|> last()
|> group()
|> highestMax(n: 1, groupColumns: [“cpu”])

invalid: compilation failed: error @6:36-6:59: regex parse error: {cpu0,cpu1,cpu2,cpu3} error: repetition operator missing expression

Hello @William,
Welcome!
Can you try:

|> filter(fn: (r) => r[“cpu”] =~ r.cpu =~ /cpu[0-3]$/

Insead?

I’m trying to resolve query but getting error
invalid: compilation failed: error at @5:40-5:154: regex parse error: {Australia,Canary Island,India,Ireland,Italy,Mexico,Netherland,Netherlands,Poland,Portugal,Spain,United Kingdom} error: repetition operator missing expression

when i run query on perticuler region then i’m getting result with proper data but when i was trying to run query on all region getting above error

even i try operator .* still getting error
can someone help me
from(bucket: “Default”)
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r[“_measurement”] == “HttpResponse”)
|> filter(fn: (r) => r[“_field”] == “http_response_code”)
|> filter(fn: (r) => r[“Country”] =~ /${Territory}/ and r[“status_code”] =~ /200/)
|> group(columns: [“status_code”,“Territory”], mode:“by”)
|> keep(columns: [“_time”, “_value” , “Country”])
|> count()

@Anaisdg ,
I also have this issue. Could you please take a look?
Thanks

from(bucket: “data”)
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r[“_measurement”] == “stats”)
|> filter(fn: (r) => r[“_field”] == “long” or r[“_field”] == “lat”)
|> filter(fn: (r) => r[“site_id”] =~ r.site_id =~ /${sid}/)
|> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
|> yield(name: “mean”)

invalid: compilation failed: error @7:69-7:126: regex parse error: {46430,53847,53876,9058,13382,5737,4956,4911,1414,2733} error: repetition operator missing expression

Hey everybody, I was running through the same issue but found the answer on influxdb - How to create regular expresion from Grafana variables. Influx 2.0DB - Stack Overflow

Basically, Grafana allows how to expand the variable in Flux query.

So the answer to @William original question would be like:

|> filter(fn: (r) => r[“cpu”] =~ /${cpu:regex}/)

Hope it helps.

1 Like