十六进制和八进制的 ASCII 正则表达式
RegEx in ASCII with hexa and octal
这是问题所在:
if (preg_match_all("/[\x2F]/", $line, $match)) {
print "Correct";
} else {
print "error";
}
x2F
在 ASCII table 中是 /
当我运行代码时,它无法检测到/
,但是当我插入其他十六进制代码时,例如x2A
,它可以工作。只是 /
和 \
不起作用。
我也试过使用八进制形式。它仍然是一样的,只是没有解决 /
和 \
.
有解决办法吗?
这个的主要思想是,我在做一个基于web的c++编译程序,每当学生输入cin时,它就会跳出一个提示框让用户输入他们的值,但是如果学生用//cin
输入代码,我的程序仍然会跳出提示框,我希望它使用RegEx检测,如果检测到//
则不会运行代码的特定行。
提前致谢。
在正则表达式中使用双引号时使用 \
:
preg_match_all("/[\x2F]/", $line)
你甚至不需要角色 class:
preg_match_all("/\x2F/", $line)
或使用单引号:
preg_match_all('/\x2F/', $line)
这是问题所在:
if (preg_match_all("/[\x2F]/", $line, $match)) {
print "Correct";
} else {
print "error";
}
x2F
在 ASCII table 中是 /
当我运行代码时,它无法检测到/
,但是当我插入其他十六进制代码时,例如x2A
,它可以工作。只是 /
和 \
不起作用。
我也试过使用八进制形式。它仍然是一样的,只是没有解决 /
和 \
.
有解决办法吗?
这个的主要思想是,我在做一个基于web的c++编译程序,每当学生输入cin时,它就会跳出一个提示框让用户输入他们的值,但是如果学生用//cin
输入代码,我的程序仍然会跳出提示框,我希望它使用RegEx检测,如果检测到//
则不会运行代码的特定行。
提前致谢。
在正则表达式中使用双引号时使用 \
:
preg_match_all("/[\x2F]/", $line)
你甚至不需要角色 class:
preg_match_all("/\x2F/", $line)
或使用单引号:
preg_match_all('/\x2F/', $line)