①
php
1$data="<<a >script>"; 2$ans = preg_replace("/<[a-zA-Z]+.+?>/", "", $data); 3print($ans); // <script>
②
php
1$data="<<a>script>"; 2$ans = preg_replace("/<[a-zA-Z]+.+?>/", "", $data); 3print($ans); // <
②の挙動は納得がいくのですが、
①の場合スペースを入れるだけで、正規表現にマッチする理由がわかりません。
『.+?』は任意の1文字が1回以上連続した最短マッチというのはわかっているのですが
スペースが正規表現のどのメタ文字とマッチしているのかがわかりません。
スペース一文字が任意の一文字でないというのはなぜでしょう?
回答3件
あなたの回答
tips
プレビュー