0

ログファイルに正確な単語をキャプチャしようとしています:

/Emergency|Critical|Error|BEA-000331/

問題は、たとえばErrorキャプチャする必要があるが、これもキャプチャする場合ErrorUnableです。宇宙で見たときだけ撮りたいです。また、私は探してBEA-000331 いますが、すべてBEAがキャプチャされています。

4

2 に答える 2

1

perl/ruby を使用している場合は、単語境界マーカー \b を追加して、単語境界でのみ一致させます。また、BEA-000331 を 1 つの単位として一致させる必要がある場合は、それを括弧に入れてみてください:-

/\b(Emergency|Critical|Error|(BEA-000331))\b/
于 2012-12-12T10:44:02.667 に答える
0

使用\b:

単語文字 (\w に一致するもの) と単語以外の文字 ([^\w] または \W に一致するもの) の間の位置、および最初の文字列の場合は文字列の先頭および/または末尾に一致しますおよび/または文字列の最後の文字は単語文字です。

'\bEmergency\b|\bCritical\b|\bError\b|\bBEA-000331\b'

使用しているツールに応じて、次のようなことができます。

grep -Ew 'Emergency|Critical|Error|BEA-000331' log

この-wオプションは、パターンが単語全体のみに一致するように強制します。

于 2012-12-12T10:47:19.727 に答える