Skip to content

Query Builder Regex

You can use regex to filter strings such as hostname by adding the regex: prefix to your pattern.

Server Numbering
├─ regex:^server-\d{3}$ → server-001, server-123
├─ regex:^server-\d+$ → server-1, server-123, server-9999
└─ regex:^web-[0-9]{2}$ → web-01 through web-99
Environment Matching
├─ regex:-(prod|test|dev)$ → anything-prod, anything-test
├─ regex:^prod- → prod-web, prod-db, prod-app
└─ regex:(prod|production) → contains "prod" or "production"
Location Patterns
├─ regex:^(syd|mel|bne)- → syd-server, mel-db, bne-web
├─ regex:-(east|west|central)$ → web-east, db-west
└─ regex:^au-(east|west)- → au-east-server, au-west-db
Wildcard Equivalents
├─ server* → regex:^server
├─ *server → regex:server$
├─ *server* → regex:server
└─ server?01 → regex:^server.01$
You WantUse ThisExample
Starts with^textregex:^web
Ends withtext$regex:-prod$
Exact match^text$regex:^server-001$
OR condition(a|b)regex:(prod|test)
Any digit\dregex:\d{3} = 3 digits
Any letter[a-zA-Z]regex:[a-z]+
Optional?regex:web-?server
One or more+regex:server-\d+
Zero or more*regex:web.*server

Production servers only:

regex:-prod$

Development or test environments:

regex:-(dev|test)$

Any 3-digit server number:

regex:^server-\d{3}$

Servers in specific datacentres:

regex:^(dc1|dc2|dc3)-

Match IP-like hostnames:

regex:\d+\.\d+\.\d+\.\d+

Web servers (various naming):

regex:(web|www|http)

Database servers:

regex:(db|database|sql|mysql|postgres)

✅ Always prefix with regex:
✅ Patterns are case-insensitive
✅ Use ^ for start, $ for end
✅ Escape dots: \. not .
✅ Test at: https://regex101.com/

❌ Don’t forget the prefix
❌ Don’t use wildcards (* and ?) like in shell patterns
❌ Don’t forget to escape special characters