我尝试使用遵循正则表达式:(a)?b(?(1)c|d)。这是 http://www.regular-expressions.info/conditional.html 的例子。
但是我得到了错误。
/opt/logstash-1.4.2/bin/logstash -e 'input { stdin { } } filter { grok { match => [ "message", "(a)?b(?(1)c|d)" ] } } output { stdout { codec => rubydebug }}'
+---------------------------------------------------------+
| An unexpected error occurred. This is probably a bug. |
| You can find help with this problem in a few places: |
| |
| * chat: #logstash IRC channel on freenode irc. |
| IRC via the web: http://goo.gl/TI4Ro |
| * email: logstash-users@googlegroups.com |
| * bug system: https://logstash.jira.com/ |
| |
+---------------------------------------------------------+
The error reported is:
undefined group option: /(a)?b(?(1)c|d)/
Logstash 使用 Oniguruma 正则表达式。 他们的文档说这是一个"与perl 5.8.0相比缺乏的功能"。 所以,没有。