kakts-log

programming について調べたことを整理していきます

perlの正規表現 パターンを読みやすくする方法

perl正規表現によるパターンマッチングを行う時、ある程度慣れた人でも、複雑な処理になるとどうしても読みにくくなったりすると思います
/(....)+d/とか、/-?[0-9]:\.?[0-9]*/ とか、なにいってるのみたいな状態にぼくもなってます。
これを読みやすくするためにperlではパターン内に空白文字を追加して、パターン自体の可読性をあげる方法がありました。

/(....)+d/ は任意の4文字の直後にdが一回以上あるときのパターンです。 このパターンの区切りである/の最後にxを追加して /(....) + d /xとしてあげるだけで、パターン内にある空白文字を、パターンとして認識しないようにしてくれます。

もしこの/xをつけなくて、 /(....) +d/ とした場合は
任意の4文字のあとに1文字の空白があり、その空白の直後に1つ以上のdがあるというパターンになります。

正規表現やたら難しくて、必要に迫られている状況ではないですが、使ってみようと思います