php 正则表达式匹配{"\x47\x4c\x4f\x42\x41L\x53"}

怎么匹配出来\x47 \x4c 这些ascii字符?
我用preg_match_all('/\\x(.{2})/i', $str, $matches)匹配的就是出不来,哪里写错了?

阅读 3.6k
1 个回答

对于 $str = "\x47\x4c\x4f\x42\x41L\x53" 也就是 $str = "GLOBALS" 的情况,\x47 是一个字符,不能用 \x.. 匹配,而只能匹配一个范围,例如 [\x00-\xFF]
对于 $str = "\\x47\\x4c\\x4f\\x42\\x41L\\x53" 的情况,上面的代码差不多能用,但应该采用 \\\\ 匹配一个反斜杆,先经过字符串转义,再经过正则转义。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题