付録E.3 正規表現を使用する際のヒント
-
制御コード(改行,タブなど)は,製品やOSによって扱いが異なることがあります。このため,メッセージに対する条件を正規表現で記述する場合は,制御コード以外の部分を記述するようにしてください。
-
正規表現で,すべての文字に一致する表現の「.*」を多用すると,検索に時間が掛かることがあります。長いメッセージなどに対して「.*」を使用する場合は,必要な個所にだけ「.*」を使用するようにしてください。
また,拡張正規表現を使用できる環境で,かつ,スペース以外の文字に一致させたい場合には,「.*」の代わりに「[^ ]*」が使用できます。「[^ ]*」を使用した方が検索に掛かる時間を短縮できます。
-
特殊文字である「|」はOR条件を表します。このOR条件を正規表現中に使用する際は,次のことに注意してください。
OR条件の「|」は正規表現の中で優先度が低いため,OR条件がかかる範囲を明示的に指定する必要があります。範囲を指定しない場合,動作しない,または誤動作する原因になることがあります。OR条件の範囲は,条件がかかる範囲を小括弧「()」で囲むことで指定できます。
ソースノードにgyoumuまたはhostが含まれているNNMiインシデントを選択するときの指定例を次に示します。
SRC_NODE_NAME REGEX ^.* (gyoumu|host) .*$
-
特殊文字である「|」の前後にスペースが含まれていると,スペースが文字として認識されます。スペースを含まない場合,「|」の前後にスペースを入れないでください。