0

我有以下两行:

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

我想忽略“失败”部分,只得到“错误消息”

4

2 回答 2

1

for your question, /Undefined control sequence will work exactly what you wanted.

If you want to have some dynamic matching, you could try:

\verror\|\s\zs.{-}\ze(FAILURE|$)
于 2013-09-19T13:06:14.147 回答
0

该模式/Undefined control sequence将匹配两行,而该模式/Undefined control sequence\>将只匹配第一行,因为\>匹配一个单词的结尾。

于 2013-09-19T12:56:08.773 回答