首页 文章

正则表达式 - 找到特定的字符串但不存在于某个句子中

提问于
浏览
0

我不确定是否有可能使用一个正则表达式线 . 我希望找到具有特定字符串的句子,但是当它出现在特定句子中时却没有 .

这就像grep 'word' file | grep -iv "particular sentence"

例如:输入:

Hello world foo here foobar here foo with bar bar with foo

结果应该是找到单词'foo'而不是当句子是'bar with foo now'时:输出:

你好世界foo这里foobar这里有foo与酒吧

这可能是一行正则表达式模式吗?

1 回答

  • 1

    你可以这样做:

    ^(?!bar with foo now).*?foo.*$
    

    其中说“匹配一条不是”的线条与foo现在“,但在其中有”foo“ .

    但是,每行只能获得一个匹配 . 所以如果你有:

    你好,我的foo是foo .

    这将匹配,但整个行只有一次(而不是两次,每次 foo 一次) .

相关问题