-1

我希望有人可以帮助我解决可能是一个简单的正则表达式问题。我需要匹配包含一组单词但不包含另一个单词的行。

例如,我正在搜索的文件包含以下内容:

鲍勃有一顶帽子。
比尔有一顶帽子。
弗雷德有一顶帽子。

我想要做的是匹配所有有“有帽子”的行。除非该行还包含 bob。

那有意义吗 ?

这必须是基本的正则表达式,而不是代码或任何东西,因为我将其输入到文本文件解析程序中。

4

1 回答 1

7
^(?=.*\bhas a hat\b)(?!.*\bBob\b).*

has a hat如果它包含任何地方并且不包含Bob任何地方(以任何顺序) ,则匹配整行。

当然,它也不会匹配像Fred has a hat. Bob doesn't.

于 2013-04-09T05:33:41.070 回答