1. 云栖社区>
  2. PHP教程>
  3. 正文

php字符串与正则表达

作者:用户 来源:互联网 时间:2017-11-30 11:38:09

php字符串正则表达

php字符串与正则表达 - 摘要: 本文讲的是php字符串与正则表达, 今天在工作的时候碰到一个小问题,需要用正则表达式,于是就有了这篇记录,如下: $str = 'home//user';$pattern = '#home///user#';preg_match($pattern, $str, $match

今天在工作的时候碰到一个小问题,需要用正则表达式,于是就有了这篇记录,如下:


$str = 'home//user';
$pattern = '#home///user#';
preg_match($pattern, $str, $match);
var_dump($match);

这段代码是匹配不到的, 因为$pattern被php和正则表达式引擎解析之后是‘#home/user#’,所以不能匹配到$str。


将$pattern改写为'#home////user#'即可。


上面的正则表达式首先被php解析为‘#home///user#’字符串,这样被正则表达式引擎使用的时候会将第一个反斜线视为转义符号,解析之后变成'#home//user#',也就匹配到了字符串。


还有一点需要注意,在php的单引号字符串中只会解析/'和//,除此之外所有的转义符号都不会被解析,但是双引号除了解析这两个之外还会解析诸如//n之类的特殊符号。所以针对上面的问题,用单引号或者双引号结果是一样的。

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php , 字符串 , 正则 表达 ,以便于您获取更多的相关知识。