回答編集履歴
2
^$を追加
answer
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
<?php
|
3
3
|
$dates = array("2010-09-01", "2010.10.12", "2010-8-2", "2010-10-2", "2010-5-12");
|
4
4
|
foreach ($dates as $date) {
|
5
|
-
if (preg_match('/(\d{4})\D(\d{1,2})\D(\d{1,2})/', $date, $m)) {
|
5
|
+
if (preg_match('/^(\d{4})\D(\d{1,2})\D(\d{1,2})$/', $date, $m)) {
|
6
6
|
echo sprintf('%4d/%02d/%02d', $m[1], $m[2], $m[3]) . '<br>';
|
7
7
|
}
|
8
8
|
}
|
1
test
answer
CHANGED
@@ -2,12 +2,12 @@
|
|
2
2
|
<?php
|
3
3
|
$dates = array("2010-09-01", "2010.10.12", "2010-8-2", "2010-10-2", "2010-5-12");
|
4
4
|
foreach ($dates as $date) {
|
5
|
-
if (preg_match('/(\d{4})
|
5
|
+
if (preg_match('/(\d{4})\D(\d{1,2})\D(\d{1,2})/', $date, $m)) {
|
6
6
|
echo sprintf('%4d/%02d/%02d', $m[1], $m[2], $m[3]) . '<br>';
|
7
7
|
}
|
8
8
|
}
|
9
9
|
```
|
10
10
|
|
11
11
|
正規表現で解いてみました。
|
12
|
-
数字4桁,
|
12
|
+
数字4桁, 数字以外の1文字, 数字1または2桁, 数字以外の1文字, 数字1または2桁
|
13
13
|
にマッチします。
|