我想要匹配008 /
preg_match('/008\\//i', '008/', $matches);
preg_match('/008\//i', '008/', $matches);
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么两个正则表达式都有效.我希望第二个工作,但为什么双反斜杠工作?
因为\\在PHP字符串中意味着"逃避反斜杠".因为\/并不意味着它不需要被转义(即使它是可能的),所以他们评价相同.
换句话说,这两个都会打印相同的东西:
echo '/008\\//i'; // prints /008\//i
echo '/008\//i'; // prints /008\//i
Run Code Online (Sandbox Code Playgroud)
反斜杠是可以在单引号字符串中转义的少数字符之一(除了显而易见的\'),这确保您可以创建一个字符串,例如'test\\'不转义最后一个引号.
| 归档时间: |
|
| 查看次数: |
664 次 |
| 最近记录: |