Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

「読める」正規表現

via. PHP in Action | Readable regular expressions

ひょっとしたら、古くからあるネタかも知れませんね。
正規表現は一通り読めてかけるようになると非常に強力ですね。ただ、どうしても暗号みたいな記述になりがちです ;-)
たとえば、

<?php
$regex = '/(\w+\s+){6}\w+/';

という正規表現があった場合、「w」「s」の意味が分かっていれば難しくはありませんが、複雑な正規表現の場合、書いた本人も分からなくなってしまう事があるかも知れません。
そこで、

<?php
$word = "\w+";
$spaces = "\s+";

$regex = "/($word$spaces){6}$word/";

と書くことで「読める」正規表現にできるよ、また、日時を表す正規表現も素直に

'dddd-dd-dd dd:dd:dd'

とする方が直感的に分かりやすい、といった話でした。
個人で作る分には良いんですが、チームで作る場合、こういったことも必要になるのかも。。。?

追記(2007/06/25 14:36)

$wordや$spacesにバックスラッシュ「\」が付いてませんでした。kooiさん、指摘ありがとうございます :-)