我需要对包含32 - 90的ASCII字符进行正则表达式匹配。
我尝试了以下内容,但它似乎没有返回任何内容。
preg_match("/^[\x20-\x5A]+$/u", $input)
这个想法是从十六进制20
到十六进制5a
。我从http://www.asciitable.com/
答案 0 :(得分:3)
您当前的范围仅支持大写字母,因此您需要/i
修饰符:
$input = 'adddd ### AAAA????';
preg_match('/^[\x20-\x5A]+$/i', $input); // int(1)
或者,在范围中添加额外的字母:
preg_match('/^[\x20-\x5A\x61-\x7A]+$/', $input))
答案 1 :(得分:-1)
您需要使用preg_match的第三个参数将其分配给变量
preg_match("/^[\x20-\x5A]+$/u", $input, $matches)
standard return of this function是1或0 / FALSE
...例如
if(preg_match("/^[\x20-\x5A]+$/u", $input, $matches))
{
var_dump($matches);
}