正規表現 or | 正樹の日常ブログ

正樹の日常ブログ

じいじの正樹が日常生活する中で、出会った事など様々なことを書きます

じいじはまたまた正規表現を学び直しています。

 

サーバーの大量ログデータから処理開始を意味するパターンを検知したらデータをファイルに出して処理終了を意味するパターンが現れるたら、データ出力を停止する。何回も処理開始が有るので、ログファイルの最後まで処理をする。的な内容です。

 

処理開始を意味するパターンに日本語が入って居るので結構面倒ですが、先人が様々な事をネットに残していただいて居ますので参考にさせていただきました。いくつか方法が有るのですがじいじが一番気に入ったのは、ASCII文字以外にマッチさせる方法でした。

具体的にはASCII(アスキー)文字が[\x00-\x7F]で正規表現にマッチしますので、これの否定をするとASCII文字以外と成ります[^\x00-\x7F]これで、全角文字なら何でも引っかかります。さらに、探そうとする日本語の最小の文字数と最大の文字数がわかって居れば{N,M}の表現を使って文字数の制御が出来ます。

 

検索する文字が決まって居れば or の意味合いで、| パイプを使う事も出来ます。"りんご"|"みかん"|"なし"|"ゴーヤ" 等と書けば適合します。