PHP正则表达式:\ s和\\ s之间的区别

时间:2016-02-04 04:40:49

标签: php regex

我理解\ s用于匹配空格字符,但有时候我会看到  “\\ s”用于preg匹配并且正常工作。例如:

Accept:

以上两个代码块之间有什么区别吗?

2 个答案:

答案 0 :(得分:4)

尝试理解手册中的文字。

http://php.net/manual/en/regexp.reference.escape.php

  

单引号和双引号PHP字符串具有特殊含义   反斜杠。       因此,如果\必须与正则表达式\\匹配,那么“\\\\”       或者'\\\\'必须在PHP代码中使用。

我可能不对,但我走了。

使用

之类的东西时
preg_match("/\\s/", $myString)

它正在做的是将\\转换为\,它反过来使字符串成为\ s因此它的行为正常,即它的含义不会改变,并且创建的正则表达式是'/ \ s /',内部匹配“空格“

要匹配字符串中的\ s,您必须执行以下操作

preg_match("/\\\\s/", $myString)

所以答案是正则表达式字符串中的\ s或\\ s没有任何区别,我个人认为使用\ s更简单易懂。

答案 1 :(得分:0)

\s  - to match all white spaces

\\s - to match all white spaces

\\\s - to match all \s