正規表現の$について
完了正規表現を用いて、アラートメールの本文から特定の文字列をマッチングさせたいと考えています。
アラートメールは複数行で構成されており、特定の行の終端に下記の文字列が格納されています。このうち正規表現の$を用いて前者のみとマッチングさせるルールを作成したいのですが、うまく動作しません。
【文字列】
・~~~SNMPエラー
・~~~SNMPエラー 復旧
ルール:message.content.textがSNMPエラーとマッチした場合
⇒両方マッチング
ルール:message.content.textがSNMPエラー$とマッチした場合
⇒ともにマッチングせず
正規表現についての理解が足りておらず恐縮ですが、よい設定方法はございますでしょうか。
-
正式なコメント
ご質問ありがとうございます。
AlertHubで使用している正規表現の書式では、 「^」や「$」は行頭・行末ではなく文字列全体の先頭・末尾にマッチします。正規表現の冒頭に「(?m)」を加えることでこれらの挙動を行頭・行末マッチに切り替えることが可能です。
もしくは、改行コードに直接マッチするよう「\n」を使用する方法がございます。ただし環境によっては改行コードが「\r\n」のケースがありますので、両方にマッチするように書く方が確実となります。
これらを踏まえ、(?m)SNMPエラー$
もしくは
SNMPエラー\r?\n
としていただけると、ご期待通りのマッチが行われるかと思います。
よろしくお願いたします。
コメントアクション
サインインしてコメントを残してください。
コメント
2件のコメント