正则表达式匹配方括号和圆括号外的文本
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。
根据语言和工具的不同,可能不需要将第一组和第三组括起来。
我有一个需要搜索的日志文件。括号外的文字总是相同的,所以为了尽可能准确,我想忽略方括号和弯括号内的文字。
所以日志是;
[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。
根据语言和工具的不同,可能不需要将第一组和第三组括起来。