Многие системы регулярных выражений имеют возможность установить глобальный модификатор, позволяющий несколько совпадений.
Вот как это устроено в Javascript и Perl.
/g
Python немного отличается
Python не имеет глобального модификатора, такого как параметр / g в Perl. Чтобы найти все совпадения с шаблоном, используйте re.findall (), а не re.search (). Метод findall возвращает список совпадений, а не объект совпадения. Если совпадение содержит захваченные подвыражения, findall вернет список кортежей, причем кортежи являются захваченными.
И список продолжается...
Однако я не могу найти нигде в документация как установить такой модификатор для rsyslog. An утилита для онлайн-тестирования доступен, но в нем упоминается следующее:
Rsyslog использует выражения POSIX ERE (и, возможно, BRE). Эта программа проверки работает с функциями php POSIX ERE. Так что теоретически может быть разница между тем, что движок, включенный в rsyslog (clib), и это веб-приложение. Однако на практике результаты должны быть примерно такими же.
Поскольку инструмент использует функции php POSIX ERE - и /g
модификатор не работает в php то я считаю, что в rsyslog должно быть что-то сопоставимое с функцией php preg_match_all.
Какие-нибудь советы?