Using the regexp-parser of syslog-ng
For many years, you could use the match() filter of syslog-ng to parse log messages with regular expressions. However, the primary function of match() is filtering. Recent syslog-ng versions now have a dedicated regular expression parser, the regexp-parser(). So, you should use match() only if your primary use case is filtering. Otherwise, use the regexp-parser for parsing, as it is a lot more flexible.
You can read the rest of my blog at https://www.syslog-ng.com/community/b/blog/posts/using-the-regexp-parser-of-syslog-ng