我有以下两行:
test.tex|42 error| Undefined control sequence
test.tex|43 error| Undefined control sequenceFAILURE
我想要一个与两行中“未定义的控制序列”匹配的正则表达式(因此忽略第二行中的FAILURE部分)。我试过
/^|\d\+ error|\s\zs.*
但这显然也突显了失败。我想我必须使用否定前瞻但我使用它是错误的,因为以下不起作用
/^|\d\+ error|\s\zs.*\(FAILURE\)\@!
编辑:“未定义的控制序列”只是一种错误。这些行的通用结构是
file|number error| Error message
我想要一个通用正则表达式,它只匹配有时以
结尾的错误消息Error messsageFAILURE
我想忽略“FAILURE”部分,只是得到“错误信息”
答案 0 :(得分:1)
对于您的问题,/Undefined control sequence
将完全符合您的要求。
如果您想进行一些动态匹配,可以尝试:
\verror\|\s\zs.{-}\ze(FAILURE|$)
答案 1 :(得分:0)
模式/Undefined control sequence
将匹配两行,而模式/Undefined control sequence\>
仅匹配第一行,因为\>
匹配单词的结尾。