我有一个名为问题的字段:
java.lang.NullPointerException: null\\n09:56:49.712 pl.com.agora.api.client.rest.invocation.FutureCallbacksSupport {HttpClient@2052321524-scheduler} ERROR : Uri invocation failure callback failed.
我想从中排除例外。
(?<exception>java(.*)Exception\z)
因此,我将具有值为 java.lang.NullPointerException
的字段 exception 。似乎找不到行头。 \ z或\ Z无法正常运行。 在这里也找不到答案:https://github.com/stedolan/jq/wiki/Docs-for-Oniguruma-Regular-Expressions-(RE.txt)
它用于logstash和grok匹配:
filter {
grok {
match => { "message" => '%{TIME:timestamp} (\[)?(%{DATA:logger})?(\])? \{%{DATA:thread}\} %{LOGLEVEL:level} : (?<problem>(.|\r|\n)*)' }
remove_field => ["message"]
}
grok {
match => { "problem" => '(?<exception>java(.*)Exception\z)' }
}
}
答案 0 :(得分:-1)
正则表达式(?<exception>java(.*)Exception\z)
将搜索以下内容:
java
这个词.*
)Exception
这个词\z
的结尾但是,输入(\z
)的末尾没有单词“ Exception”。在“异常”和输入结尾之间还有其他内容。因此,您还必须匹配此附加输入。可能很简单:
(?<exception>java(.*)Exception).*\z
这将分为:
java
这个词.*
)Exception
这个词.*
)\z
)的结尾您需要哪种捕获括号取决于您想要做什么。