我理解\ s用于匹配空格字符,但有时候我会看到 “\\ s”用于preg匹配并且正常工作。例如:
Accept:
以上两个代码块之间有什么区别吗?
答案 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