回答編集履歴
1
内容の修正
answer
CHANGED
@@ -1,9 +1,13 @@
|
|
1
|
+
修正しました。
|
2
|
+
|
1
|
-
正規表現で以下のようなパターンを探せば、#2
|
3
|
+
正規表現で以下のようなパターンを探せば、#2#の後ろに続く数字列を取得できます。
|
4
|
+
|
2
5
|
```ここに言語を入力
|
3
|
-
#2
|
6
|
+
(?<=#2#)([0-9]*)
|
4
|
-
|
5
7
|
```
|
6
8
|
|
9
|
+
phpではpreg_match_allという関数を用いれば、繰り返しマッチする文字列を取得できそうです。
|
10
|
+
|
7
11
|
以下にphpコードを載せます。
|
8
12
|
```php
|
9
13
|
<!DOCTYPE html>
|
@@ -15,18 +19,23 @@
|
|
15
19
|
<body>
|
16
20
|
<p>
|
17
21
|
<?php
|
18
|
-
$subject = "#2#
|
22
|
+
$subject = "#2#2000#3#3000#2#1800";
|
19
|
-
$pattern = '/#2
|
23
|
+
$pattern = '/(?<=#2#)([0-9]*)/';
|
20
|
-
|
24
|
+
preg_match_all($pattern, $subject, $matches);
|
25
|
+
|
21
|
-
echo count($matches);
|
26
|
+
echo count($matches[0])." ";
|
27
|
+
echo $matches[0][0]." ";
|
28
|
+
echo $matches[0][1]." ";
|
22
29
|
?>
|
23
30
|
</p>
|
24
31
|
|
25
32
|
</body>
|
26
33
|
</html>
|
27
34
|
```
|
35
|
+
なぜ$matchesが多次元配列になるのかはわかりませんが(ご存知の方教えてください!)、
|
36
|
+
$matches[0]も$matches[1]も同じ値が入っていました。
|
28
37
|
|
29
38
|
```
|
30
39
|
(実行結果)
|
31
|
-
2
|
40
|
+
2 2000 1800
|
32
41
|
```
|