Мне нужна помощь с регулярными выражениями. У меня в rabbitMQ есть очереди, около 1000:
ha-collector-data-test2
ha-collector-data-1434
ha-collector-data-45-test3
ha-collector-data-terty4
ha-collector-data-341
etc.
И мне нужно отфильтровать эти очереди. Например:
FILTER='[{"name": "ha-collector-data-test2"}, {"name": "ha-collector-data-1434"}, {"name": "ha-collector-data-45-test3"}, {"name": "ha-collector-data-terty4"} ]'
Каждую очередь описать отдельным именем сложно
Какое регулярное выражение следует использовать для очередей с одинаковыми начальными именами? Я использовал это, но это неправильно:
FILTER='[{"name": "ha-collector-data-*"} ]'
FILTER='[{"name": "ha-collector-data-[a-z]"} ]'
Следующий шаблон должен соответствовать вашим примерам:
FILTER='[{"name": "ha-collector-data-.*"} ]'
This specifies: Match every character (= '.') zero or more times (= '*')
Оба фильтра не работают, потому что:
1) FILTER='[{"name": "ha-collector-data-*"} ]'
'*' matches the preceding character zero or more times. Since the preceding char is -
this rule matches something like ha-collector-data--
2) FILTER='[{"name": "ha-collector-data-[a-z]"} ]'
This filter doesn't match the strings that start with numbers after '-' and
furthermore it matches the next char only.