正则表达式匹配LINE但不是单个特殊单词

时间:2018-06-09 07:30:06

标签: regex

我有一个匹配的正则表达式,其中包含" Mq \ w + GetContext" ...

^.*Mq\w+GetContext.*$

示例: MqBufferGetContext MqDumpGetContext MqErrorGetContext

现在我的问题......我希望与单词匹配...

MqErrorGetContext

尝试使用

^.*Mq(?!Error)GetContext.*$

不起作用。

2 个答案:

答案 0 :(得分:2)

如果支持断言(?!不存在,则可以使用否定lookahead MqErrorGetContext

您可以使用单词边界\b,因为它不属于较长的匹配项。

^(?!.*\bMqErrorGetContext\b).*Mq\w+GetContext.*$

答案 1 :(得分:1)

几乎就在那里,试试这样:

^.*Mq(?!Error)\w+GetContext.*$

使用负向前瞻时,要查看的序列必须在其前面。

Demo