標準出力

新しいもの、変わらないこと 自分の頭を通して考えてみました (stdout)

preg_match

正規表現って使うツールによって微妙に表現が異なるのが嫌

PHPでも案の定ひかかった。
mysqlで言うところのDATE型(ex.2013/03/04)にマッチさせようと
preg_match("/[0-9]\{4\}\/[0-1][0-9]\/[0-3][0-9]/", $target, $mtached);
とやってしまっていた。繰り返しを表す部分\{4\}の中カッコのエスケープは必要ない。
正しくは、
preg_match("/[0-9]{4}\/[0-1][0-9]\/[0-3][0-9]/", $target, $mtached);

こちらでlibpcreの正規表現について説明されている。