teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

修正

2018/03/21 12:57

投稿

退会済みユーザー
answer CHANGED
@@ -28,9 +28,8 @@
28
28
  400
29
29
  900
30
30
  EOT;
31
- $patterns = ['/^300$/m', '/(?(?=(^\d{1,2})$)\d{1,2}$|^[12][\d]{2}$)/m', '/^[3-9]\d{2}$/m'];
31
+ $patterns = ['/^300$|(?(?=(^\d{1,2})$)\d{1,2}$|^[12][\d]{2}$)/m', '/^[3-9]\d{2}$/m'];
32
- $replace = ['0', '0', '1'];
32
+ $replace = ['0', '1'];
33
33
  $targetText = preg_replace($patterns, $replace, $targetText);
34
34
  echo $targetText;
35
- ```
35
+ ```
36
- 多分、300 も 0 の条件かけるはずだけど、整理できませんでした^^;

1

修正

2018/03/21 12:57

投稿

退会済みユーザー
answer CHANGED
@@ -14,11 +14,23 @@
14
14
  $targetText = preg_replace($patterns, $replace, $targetText);
15
15
  echo $targetText;
16
16
  ```
17
+ **指摘を受けての修正**
17
18
  ```php
19
+ <?php
20
+ $targetText = <<<EOT
18
21
  0
19
- 0
20
- 0
21
22
  1
22
- 1
23
+ 11
23
- 1
24
+ 111
25
+ 200
26
+ 300
27
+ 301
28
+ 400
29
+ 900
30
+ EOT;
31
+ $patterns = ['/^300$/m', '/(?(?=(^\d{1,2})$)\d{1,2}$|^[12][\d]{2}$)/m', '/^[3-9]\d{2}$/m'];
32
+ $replace = ['0', '0', '1'];
33
+ $targetText = preg_replace($patterns, $replace, $targetText);
34
+ echo $targetText;
24
- ```
35
+ ```
36
+ 多分、300 も 0 の条件かけるはずだけど、整理できませんでした^^;