phpで正規表現したよ
iyamaです。
更新遅くなってすみません。
今日は珍しくphpで正規表現使ったので、そのお話。
ある文字列($str)の中から、日付(YYYY/MM/DD)のみ取得しようと思い、
以下のようなコードを書きました。
$str = "xx2012/01/13xxxxx";
$pattern = '/[0-9]{4}¥/[0-9]{2}¥/[0-9]{2}/';
$result = array();
preg_match($pattern, $str, $result);
var_export($result);
こうすると、結果
array (
0 => "2012/01/13"
)
みたいなのが、入ってくると思います。
これでいいんですけど、年、月、日の値も別々に欲しいなーって考えたとき、
この値($result[0])をsplitとかやだよ。。って思ったんですけど、
なんと、正規表現にいいのがありました。
これです↓
$patternのとこに注目してください。
$str = "xx2012/01/13xxxxx";
$pattern = '/([0-9]{4})¥/([0-9]{2})¥/([0-9]{2})/';
$result = array();
preg_match($pattern, $str, $result);
var_export($result);
出力結果
array (
0 => "2012/01/13",
1 => "2012",
2 => "01",
3 => "13",
)
ね。便利だね。
最初に、$patternで指定した全体の値。
次に()でくくった部分を順番に配列に格納。
素敵な仕様です。
。。。。。て、これは一般常識ですかね?
正規表現知らなすぎですよね。精進します。。
以上です。
※preg_match()のところ、修正しました。(2012/01/14)

こうじゃなかったけ
preg_match($str, $pattern, $result);
↓
preg_match($pattern, $str, $result);
ほ、ほんとだ。。!間違えました。
ご指摘ありがとうです。