正则表达式帮助解析 Syslog

Regex Help in Parsing Syslog

首先,我对正则表达式很陌生,像这样的东西对我来说太复杂和令人困惑了,所以如果有人有高级资源,我很乐意看到它们。

我想将其分成几组:

<189>: sample_username: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet2/0/1, changed state to down

并且在 return 中有这些组:

=sample_username
=LINEPROTO-5-UPDOWN
=Line protocol on Interface GigabitEthernet2/0/1, changed state to down

检查 this 正则表达式以及解释。

<\d+>: (\w+): %([\w-]+): ([^\n]+)

重点是:

  1. 括号将捕获其中的内容。
  2. 方括号将匹配里面的所有字符。
  3. [^x]表示"any character that is not x".
  4. x+ 表示任意数量的 x,大于零。
  5. \w\dregex meta-characters。您可以轻松搜索有关它们的更多内容。