>백엔드 개발 >PHP 튜토리얼 >正则表达式 - PHP正则 #info/list#u 为什么反斜杠“/” 可以不用转义

正则表达式 - PHP正则 #info/list#u 为什么反斜杠“/” 可以不用转义

WBOY
WBOY원래의
2016-06-06 20:33:441160검색

PHP 生成的正则,以 # 开头 #u结尾的,为什么里面的 / 反斜杠不用转义成 \/

<code>php</code><code><?php $pattern = '#^info/(?P<type>(area|cat))-(?P<v1>\d+)-(?P<v2>\d+)-(?P<v3>\d+)/(?P<page>\d+)/$#u';
$str = 'info/area-19-0-0/40/';
preg_match($pattern,$str,$matches);
print_r($matches);

</page></v3></v2></v1></code>
<code>Array
(
    [0] => info/area-19-0-0/40/
    [type] => area
    [1] => area
    [2] => area
    [v1] => 19
    [3] => 19
    [v2] => 0
    [4] => 0
    [v3] => 0
    [5] => 0
    [page] => 40
    [6] => 40
)
</code>

回复内容:

PHP 生成的正则,以 # 开头 #u结尾的,为什么里面的 / 反斜杠不用转义成 \/

<code>php</code><code><?php $pattern = '#^info/(?P<type>(area|cat))-(?P<v1>\d+)-(?P<v2>\d+)-(?P<v3>\d+)/(?P<page>\d+)/$#u';
$str = 'info/area-19-0-0/40/';
preg_match($pattern,$str,$matches);
print_r($matches);

</page></v3></v2></v1></code>
<code>Array
(
    [0] => info/area-19-0-0/40/
    [type] => area
    [1] => area
    [2] => area
    [v1] => 19
    [3] => 19
    [v2] => 0
    [4] => 0
    [v3] => 0
    [5] => 0
    [page] => 40
    [6] => 40
)
</code>

因为它的正则分隔符是 # 号, 所以 / 不需要进行转义.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.