回答編集履歴
1
内容の修正
test
CHANGED
@@ -1,12 +1,20 @@
|
|
1
|
+
修正しました。
|
2
|
+
|
3
|
+
|
4
|
+
|
1
|
-
正規表現で以下のようなパターンを探せば、#2
|
5
|
+
正規表現で以下のようなパターンを探せば、#2#の後ろに続く数字列を取得できます。
|
6
|
+
|
7
|
+
|
2
8
|
|
3
9
|
```ここに言語を入力
|
4
10
|
|
5
|
-
#2
|
11
|
+
(?<=#2#)([0-9]*)
|
12
|
+
|
13
|
+
```
|
6
14
|
|
7
15
|
|
8
16
|
|
9
|
-
|
17
|
+
phpではpreg_match_allという関数を用いれば、繰り返しマッチする文字列を取得できそうです。
|
10
18
|
|
11
19
|
|
12
20
|
|
@@ -32,13 +40,19 @@
|
|
32
40
|
|
33
41
|
<?php
|
34
42
|
|
35
|
-
$subject = "#2#2
|
43
|
+
$subject = "#2#2000#3#3000#2#1800";
|
36
44
|
|
37
|
-
$pattern = '/#2
|
45
|
+
$pattern = '/(?<=#2#)([0-9]*)/';
|
38
46
|
|
39
|
-
preg_match($pattern, $subject, $matches
|
47
|
+
preg_match_all($pattern, $subject, $matches);
|
40
48
|
|
49
|
+
|
50
|
+
|
41
|
-
echo count($matches);
|
51
|
+
echo count($matches[0])." ";
|
52
|
+
|
53
|
+
echo $matches[0][0]." ";
|
54
|
+
|
55
|
+
echo $matches[0][1]." ";
|
42
56
|
|
43
57
|
?>
|
44
58
|
|
@@ -52,12 +66,16 @@
|
|
52
66
|
|
53
67
|
```
|
54
68
|
|
69
|
+
なぜ$matchesが多次元配列になるのかはわかりませんが(ご存知の方教えてください!)、
|
70
|
+
|
71
|
+
$matches[0]も$matches[1]も同じ値が入っていました。
|
72
|
+
|
55
73
|
|
56
74
|
|
57
75
|
```
|
58
76
|
|
59
77
|
(実行結果)
|
60
78
|
|
61
|
-
2
|
79
|
+
2 2000 1800
|
62
80
|
|
63
81
|
```
|