Tips

IT技術系Tips

正規表現

AAAAが含まれない行全体

^(?!.*AAAA).+$

AAAA、BBBBのどちらも含まれず、yyyy-mm-ddで始まる行全体

ログ検索に使用したのでメモ

^\d{4}-\d{2}-\d{2}(?!.*(AAAA|BBBB)).+$

tsvの8項目目が不正な生年月日の場合、空文字に書き換え

置換前:^(([^\t]*\t){7})(?!((1|2)[0-9]{7}\t)|\t)[^\t]+(.+)$
置換後:$1$+

サクラエディタ/bregonig.dll v3.0.2
この正規表現は、システム導入当日に「生年月日は8桁固定で数値のみって話だったじゃん!」
みたいな状況になったら即席で調べるために使用する。

不正な生年月日に関しては厳密な判断でなく、先頭が1または2で、固定8桁を正常扱いと判断している。
$+はサクラエディタ/bregonig.dll固有の機能?で、最後に一致した部分文字列を意味する。
ようは最後の(.+)を使える。

やっぱ客先サーバーがWindowsなら秀丸は有償で厳しいからサクラだよね~。
サクラは数ギガのテキストファイルが開けなかったりするから、その点はcygwinsedとかで補完が必要かもしれないけど。