回答編集履歴
3
修正
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
```php
|
10
10
|
|
11
|
-
$subject = "15:00~20:00/20:00~翌4:00";
|
11
|
+
$subject = "本日の出退勤は15:00~20:00/20:00~翌4:00です";
|
12
12
|
|
13
13
|
$pattern = '/\d{1,2}:\d{2}/';
|
14
14
|
|
2
コード追加
test
CHANGED
@@ -1,3 +1,21 @@
|
|
1
1
|
正規表現はパターンマッチですから、その想定されるデータの全てが一文で表現可能な定義を常に満たすもので無いと全てに対応できるものを考えるのは難しいです。
|
2
2
|
|
3
3
|
例えばですが、「[00:00]このパターンに一致する文字列を全て抜き出し、最初に登場する値が出勤時間、最後に登場する値が退勤時間である。」に全ての入力が一致するならやりようはあると思います。
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
ちょっとコードあってるか自信ないですが、例えばこんな感じ
|
8
|
+
|
9
|
+
```php
|
10
|
+
|
11
|
+
$subject = "15:00~20:00/20:00~翌4:00";
|
12
|
+
|
13
|
+
$pattern = '/\d{1,2}:\d{2}/';
|
14
|
+
|
15
|
+
preg_match_all($pattern, $subject, $m);
|
16
|
+
|
17
|
+
print_r("出勤: ".$m[0][0]." / 退勤: ".end($m[0]));
|
18
|
+
|
19
|
+
//出勤: 15:00 / 退勤: 4:00
|
20
|
+
|
21
|
+
```
|
1
誤字修正
test
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
正規表現はパターンマッチですから、その想定されるデータの全てが一文で表現可能な定義を常に満たすもので無いと全てに対応できるものを考えるのは難しいです。
|
2
2
|
|
3
|
-
例えばですが、「[00:00]このパターンに一致する文字列を全て抜き出し、最初に登場する値が出勤時間、最後に登場する値が
|
3
|
+
例えばですが、「[00:00]このパターンに一致する文字列を全て抜き出し、最初に登場する値が出勤時間、最後に登場する値が退勤時間である。」に全ての入力が一致するならやりようはあると思います。
|