▶ セイ・テクノロジーズ コーポレートサイトはこちら

サポート情報番号 000181
対象バージョン BOM 8.0, BOM 7.0 (全 SR), BOM 6.0 (全 SR), BOM 5.0 (全 SR)

BOMの「イベントログ監視」および「テキストログ監視」では、メッセージの検索や除外のために5件までのキーワードを指定できます。そしてこのキーワードを6件以上指定したい場合は、正規表現を使用することができます。

[詳細]
キーワードを6個以上利用したい場合は、正規表現を使用することで対応できます。
以下は、一般的な監視で利用できる正規表現の構文です。
※文字の色は説明のためにつけているものです。

1.論理積(AND)
論理積は、指定した複数のキーワードが、全て見つかった時に検知します。

キーワードとして「文字列1」、「文字列2」、「文字列3」を指定する場合、以下のように記述します。

^((?=.*文字列1)(?=.*文字列2)(?=.*文字列3)).*$

その際、以下のテキストは検知されます。

テキスト内に文字列1と文字列2と文字列3が記載されたメッセージ

以下のテキストは検知されません。

テキスト内に文字列1と文字列2と文字列4が記載されたメッセージ

なお、「(?=.*文字列)」を増やすことで、より多くの文字列を検出対象にすることができます。

^((?=.*文字列1)(?=.*文字列2)(?=.*文字列3)(?=.*文字列4)).*$

2.論理和(OR)
論理和は、指定した複数の文字列について、そのいずれかが見つかった時に検知します。

キーワードとして「文字列1」、「文字列2」、「文字列3」を指定する場合、以下のように記述します。

^(((?=.*文字列1)|(?=.*文字列2)|(?=.*文字列3))).*$

その際、以下のテキストは検知されます。

テキスト内に文字列1と文字列2と文字列3が記載されたメッセージ

以下のテキストは検知されません。

テキスト内に文字列4と文字列5と文字列6が記載されたメッセージ

なお、「|(?=.*文字列)」を増やすことで、より多くの文字列を検出対象にすることができます。

^(((?=.*文字列1)|(?=.*文字列2)|(?=.*文字列3)|(?=.*文字列4))).*$

3.否定論理積(NAND)
否定論理積は、指定した複数の文字列について、全てが見つかった時には検知しません。(指定した文字列のうち、いずれかを含まなければ検知します)

キーワードとして「文字列1」、「文字列2」、「文字列3」を指定する場合、以下のように記述します。

^(((?!.*文字列1)|(?!.*文字列2)|(?!.*文字列3))).*$

その際、以下のテキストは検知されます。

テキスト内に文字列1と文字列2と文字列4が記載されたメッセージ

以下のテキストは検知されません。

テキスト内に文字列1と文字列2と文字列3が記載されたメッセージ

なお、「|(?!.*文字列)」を増やすことで、よりメッセージを絞り込むことができます。

^(((?!.*文字列1)|(?!.*文字列2)|(?!.*文字列3)|(?!.*文字列4))).*$

4.否定論理和(NOR)
否定論理和は、指定した複数の文字列について、そのいずれかが見つかった時には検知しません。(指定した文字列を、全て含まなければ検知します)

キーワードとして「文字列1」、「文字列2」、「文字列3」を指定する場合、以下のように記述します。

^((?!.*文字列1)(?!.*文字列2)(?!.*文字列3)).*$

その際、以下のテキストは検知されます。

テキスト内に文字列4と文字列5と文字列6が記載されたメッセージ

以下のテキストは検知されません。

テキスト内に文字列1と文字列3と文字列4が記載されたメッセージ

なお、「(?!.*文字列)」を増やすことで、よりメッセージを絞り込むことができます。

^((?!.*文字列1)(?!.*文字列2)(?!.*文字列3)(?!.*文字列4)).*$

5.組み合わせ
それぞれの論理構文を組み合わせて使用することができます。

共通項(「^(」及び「).*$」)で囲い、さらに個別の特出項(論理和及び否定論理積の「(」と「)」)があればそれを囲ったうえで、個別の指定を行います。
以下に、組み合わせの例を挙げます。

論理和と否定論理和
文字列1、文字列2のいずれかを検知するが、文字列4、文字列5のいずれかが含まれる場合は除きたいという場合、以下のように記述します。

^(((?=.*文字列1)|(?=.*文字列2))(?!.*文字列4)(?!.*文字列5)).*$

その際、以下のテキストは検知されます。

テキスト内に文字列1と文字列3が記載されたメッセージ
テキスト内に文字列2と文字列3が記載されたメッセージ

以下のテキストは検知されません。

テキスト内に文字列2と文字列5が記載されたメッセージ
テキスト内に文字列6と文字列7が記載されたメッセージ

論理積と論理和
文字列1、文字列2の両方を含み、かつ文字列4、文字列5のいずれかを含む場合に検知したいという場合、以下のように記述します。

^((?=.*文字列1)(?=.*文字列2)((?=.*文字列4)|(?=.*文字列5))).*$

その際、以下のテキストは検知されます。

テキスト内に文字列1と文字列2と文字列4が記載されたメッセージ
テキスト内に文字列1と文字列2と文字列5が記載されたメッセージ

以下のテキストは検知されません。

テキスト内に文字列1と文字列2と文字列3が記載されたメッセージ
テキスト内に文字列1と文字列4と文字列5が記載されたメッセージ

[注意事項]
本技術情報を活用するには、正規表現に関する基礎知識が必要となります。
また、正規表現の具体的な記述方法はサポート対象外です。本技術情報に関する個別のお問い合わせはお受けできません。

[更新履歴]
2010年 7月21日 公開
2019年 4月15日 BOM 7.0 を対象に加えて更新
2022年 6月17日 BOM 8.0 を対象に加えて更新

関連記事