パターンに一致するように正規表現を書く方法を理解しようとしていますが、それは私が興味がないより大きなパターンの一部ではない場合のみです。たとえば、私はそれが「foobaz」または「fooqux」ではなく「foobarに」大きいパターンの一部でない場合にのみパターンを一致させる正規表現
おかげと一致している必要があり
を「foobarに」以外の「foo」を含むものと一致します正規表現をたいと思います!
パターンに一致するように正規表現を書く方法を理解しようとしていますが、それは私が興味がないより大きなパターンの一部ではない場合のみです。たとえば、私はそれが「foobaz」または「fooqux」ではなく「foobarに」大きいパターンの一部でない場合にのみパターンを一致させる正規表現
おかげと一致している必要があり
を「foobarに」以外の「foo」を含むものと一致します正規表現をたいと思います!
あなたはfoo
なくfoobar
から始まる単語を一致させるために、ここで否定先読みを使用することができます。
\bfoo(?!bar)\S*
分裂:
\b # word boundary
foo # match literal text foo
(?!bar) # negative lookahead to fail the match if we have bar ahead
\S* # match 0 or more non-space characters
これは何ではないかもしれません探しているのですが、私は2番目のパスで欲しくないものを削除します。 'grep foo | grep -v foobar'を実行します。 –
'foo [^ b] [^ a] [^ r]のようなものを試してみることもできますが、うまくいきません。 –