Regex 如何根据单个事件类型捕获字段中的事件类型?

Regex 如何根据单个事件类型捕获字段中的事件类型?,regex,regex-negation,regex-lookarounds,Regex,Regex Negation,Regex Lookarounds,1) 如何使用正则表达式捕获信息/错误/警告事件 2) 如何使用正则表达式捕获不包括信息/错误/警告事件的其余事件 示例日志如下所示: [30/07/18 17:42:00:492 XXX]00000056 SystemOut至2017年7月30日17:42:00:492[INFO][xxxxxx][]xxxxx-总XXX为411116,可用内存为2638295816。 [30/07/17 17 17:42:00:492 XXX]00000056 SystemOut至2017年7月30日17:4

1) 如何使用正则表达式捕获信息/错误/警告事件

2) 如何使用正则表达式捕获不包括信息/错误/警告事件的其余事件

示例日志如下所示:

[30/07/18 17:42:00:492 XXX]00000056 SystemOut至2017年7月30日17:42:00:492[INFO][xxxxxx][]xxxxx-总XXX为411116,可用内存为2638295816。
[30/07/17 17 17:42:00:492 XXX]00000056 SystemOut至2017年7月30日17:42:00:492[错误][xxxxxx][]xxxxxxx-总XXX为111111111,可用内存为2638295816。
[30/07/17 17 17:42:00:492 XXX]00000056 SystemOut至2017年7月30日17:42:00:492[WARN][xxxxxx][]xxxxxx-总的XXX为1111111111,可用内存为2638295816。
[30/07/17 15:37:42:379 XXX]00001db5 LDAPConnection I XXX.XXX.xx.xx.xxxxx.xxxxx.xxxxxxxxx重新创建目录上下文(字符串错误消息)xxxxxxxxx用户注册表现在已连接到“XXXXXXXXXXXXXXXXXXXXX”LDAP服务器。
[30/07/17 15:33:59:281 XXX]00003xxx系统输出到xxxxx的构造函数中
1)
^.\[(信息|错误|警告)\].$
适用于所有

^.*\[INFO\].$
仅适用于
信息


2)
^(?。*\[(INFO | ERROR | WARN)\].*$
对于所有其他文件(这将仅适用于PCRE)

Hi#CrafterKolyan感谢您的回复。您可以给regex表达式以在变量中捕获这些文件吗类似于xxxx(?pxxx)xxxx caz我需要像这样提取它们修改以捕获类似于^的警告/信息/错误*[(?PINFO | ERROR | WARN).*$正在工作,但在尝试通过如下修改来捕获不存在的字段时,^(?。*[(?PINFO | ERROR | WARN).*$不工作working@PrincceRajesh我认为您需要使用
^.*\[(?PINFO | ERROR | WARN)\].$
^(?。.*\[(?PINFO | ERROR | WARN)\].*$
(已更改
[
\[
]
\]
),因为实际上
[
]
是正则表达式的语法