php - 在字符串中转义奇怪的斜杠组合
问题描述
嘿,伙计们知道我将如何进行 preg 匹配以下字符串吗?
$str = "\0/";
我似乎找不到逃避斜线的正确方法......
preg_match("/\\\\\0/\\\\/", $str);
...只是我尝试过的可能方法之一,但都失败了。
解决方案
正如评论中所指出的,使用"\0/"
意味着你实际上拥有chr(0)
并且/
我认为你的意思是'\0/'
没有特殊的转义。
你的正则表达式的问题是/
. 正则表达式需要包含在一个分隔符中,它实际上不必是/
. 但是,如果您想使用它,您使用的任何分隔符都必须在实际的正则表达式中进行转义。你没有这样做。正确的方法是:
preg_match('/\\\\0\//', '\0/', $m);
或使用不同的分隔符:
preg_match('~\\\\0/~', '\0/', $m);
但是,如果您确实想为"\0/"
or找到一个正则表达式chr(0) . '/'
:
preg_match('/\\0\//', "\0/", $m); // or
preg_match('~\\0/~', "\0/", $m); // or
preg_match('/\0\//', "\0/", $m); // or
preg_match('~\0/~', "\0/", $m);
推荐阅读
- reactjs - React:加载组件后如何调用函数?
- android - addListenerForSingleValueEvent 不执行 onDataChange() 里面的代码
- firebase - Firebase 云函数如何使用 Admin SDK 向主题发送消息?
- javascript - 一个函数正在为所有包含相同类的 div 运行。我怎样才能摆脱它?
- c++ - 在一个 TU 内破坏 ODR?
- java - 如何从字符串中创建类的新对象?
- wso2 - 无法在 WSO2 上部署 twilio 连接器
- security - 执行主节点提供的源代码的工作节点
- reactjs - 为 useHistory 钩子模拟 react-router-dom 会导致以下错误 - TS2698: Spread types may only be created from object types
- jquery - 冲突 jquery 和引导程序