带有十六进制和八进制的ASCII的RegEx

时间:2015-01-08 10:45:03

标签: php regex

问题在于:

if (preg_match_all("/[\x2F]/", $line, $match)) {
    print "Correct";
} else {
    print "error";
}
ASCII表中的

x2F/

当我运行代码时,它无法检测到/,但是当我插入其他十六进制代码时,例如x2A,它就可以工作。只有/\无效。

我也尝试过使用八进制表格。它仍然是相同的,只是没有使用/\

解决此问题的任何解决方案?

这个的主要思想是,我正在做一个基于web的c ++编译器程序,每当学生键入cin,然后它会跳出一个提示框让用户键入他们的值,但是如果学生输入使用//cin的代码,我的程序仍然会跳转提示框,我希望它使用RegEx检测到如果检测到//那么它就不会运行代码的特定行。

提前谢谢。

1 个答案:

答案 0 :(得分:2)

在正则表达式中使用双引号时使用\\

preg_match_all("/[\\x2F]/", $line)

你甚至不需要角色类:

preg_match_all("/\\x2F/", $line)

或使用单引号:

preg_match_all('/\x2F/', $line)