回答編集履歴

2

さらに追記

2017/08/15 01:59

投稿

退会済みユーザー
test CHANGED
@@ -71,3 +71,27 @@
71
71
 
72
72
 
73
73
  ```
74
+
75
+
76
+
77
+ **さらに追記**
78
+
79
+ もし、$1 という表現を正規表現内で使用したいのであれば、[後方参照](http://php.net/manual/ja/regexp.reference.back-references.php)を確認してください。
80
+
81
+ 実験用のサンプルは以下のとおりです。
82
+
83
+ ```php
84
+
85
+ <?php
86
+
87
+ preg_match_all(
88
+
89
+ "/(.)(.)(\g{1})/",
90
+
91
+ "abacdefaf",
92
+
93
+ $out);
94
+
95
+ var_dump($out);
96
+
97
+ ```

1

追記

2017/08/15 01:59

投稿

退会済みユーザー
test CHANGED
@@ -1,3 +1,73 @@
1
1
  [preg_match_all](http://php.net/manual/ja/function.preg-match-all.php)
2
2
 
3
3
  マニュアル見るなり、実験するなりですぐに解決しそうですが。
4
+
5
+
6
+
7
+ **追記**
8
+
9
+ $1 は、マニュアルの上記の箇所だけだとわからないですね。
10
+
11
+ [サブパターン](http://php.net/manual/ja/regexp.reference.subpatterns.php)と[preg_replace](http://php.net/manual/ja/function.preg-replace.php) の`replacement`をあわせて読むと良いです。
12
+
13
+
14
+
15
+ 実験用のスクリプトサンプルを追記しておきますね。
16
+
17
+ ```php
18
+
19
+ <?php
20
+
21
+ preg_match_all(
22
+
23
+ "/(.)(.)/",
24
+
25
+ "abcdef",
26
+
27
+ $out,
28
+
29
+ PREG_PATTERN_ORDER);
30
+
31
+ var_dump($out);
32
+
33
+ preg_match_all(
34
+
35
+ "/(.)(.)/",
36
+
37
+ "abcdef",
38
+
39
+ $out,
40
+
41
+ PREG_SET_ORDER);
42
+
43
+ var_dump($out);
44
+
45
+
46
+
47
+ echo 'おまけ'.PHP_EOL;
48
+
49
+ preg_match_all(
50
+
51
+ "/(?<TEST>.)(.)/",
52
+
53
+ "abcdef",
54
+
55
+ $out);
56
+
57
+ var_dump($out);
58
+
59
+ preg_match_all(
60
+
61
+ "/(?<TEST>.)(.)/",
62
+
63
+ "abcdef",
64
+
65
+ $out,
66
+
67
+ PREG_SET_ORDER);
68
+
69
+ var_dump($out);
70
+
71
+
72
+
73
+ ```