2017-12-24 24 views
2

ログで例外を検索したい。正規表現の開始:複数の値に対して正規表現負のルックバックヒント

\wException\b 

(私は例えばInvalidOperationExceptionが例外の名前を引くだけではなく、単語「例外」、および\bてるよう\wがあるとすると、例外例えば「SomeExceptionHandler」の他の形態を除外することです。 )

これはうまくいきましたが、非常に頻繁に繰り返される例外が1件見つかりました。 FooExceptionとしましょう。正規表現を変更してネガティブなルックバックを追加しました:

\w(?<!Foo)Exception\b 

「FooException」が除外されました。今私はBarExceptionも多くのノイズを作り出していることが分かり、それも除外したいと思います。だから、私は後読みの内側にパイプを試してみた考え出し:

\w(?<!(Foo|Bar))Exception\b 

を...しかし、それは無効な正規表現として拒否されました。だから、

、どのように私は後読みで複数の文字列を除外することができますか?

+1

\w(?<!Foo)(?<!Bar)Exception\b 

また、完全な例外を一致させることができますか? – Rahul

答えて

2

あなたが使用しているツールは言及しなかったが、可変長lookbehindsが最も正規表現のフレーバーでサポートされていないので、それが最も可能性が高いあなたのパターンを拒否しています。
簡単な回避策は、複数のルック尻を持つことです:あなたが使用している言語

\b(?!Foo|Bar)\w+Exception\b 
関連する問題