正则表达式匹配方括号和圆括号外的文本

RegEx to match text outside of square and curved brackets

我有一个需要搜索的日志文件。括号外的文字总是相同的,所以为了尽可能准确,我想忽略方括号和弯括号内的文字。

所以日志是;

[09/May/2022:11:04:05 +0000] NSMMReplicationPlugin - process_postop: Failed to apply update (6278e86f000627440000) error (-1).  Aborting replication session(conn=5361 op=6)

我不需要 [ ] 开头的日期或 (-1) 两侧 ( ) 两边的数字和文本作为 (-1) 部分是搜索的关键。

我只需要搜索;

NSMMReplicationPlugin - process_postop: Failed to apply update error (-1).  Aborting replication session

我想不通!我尝试了一个惰性限定符,但是因为 ( ) 我需要它没有用;

(?<=NSMMReplicationPlugin - process_postop: Failed to apply update)(.*)(?=error (-1). Aborting replication session)

我不知何故需要转义 ( ) 以获得 -1 部分?

我们可以使用下面的模式,将文本分成 4 组,只使用第 2 组和第 4 组。

(\[.*\])(.*)(\(\w*\))(.*)

为了获得第 2 组和第 4 组,我们根据正则表达式的风格使用 </code> 或 <code>
有关示例,请参见 https://regex101.com/r/v6izps/1
根据语言和工具的不同,可能不需要将第一组和第三组括起来。