php 为什么反斜线由正则表达式中不包含它们的字符类匹配?

bqf10yzr  于 2023-02-03  发布在  PHP
关注(0)|答案(1)|浏览(87)

我试图在PHP 8.2中使用preg_match匹配一个字母数字字符串。

$str = '\\\\';

echo preg_match("/^[A-z0-9]*$/", $str);

以下代码的输出是1,表示模式与主题匹配。字符类[A-z0-9]怎么可能与反斜杠匹配,而反斜杠并不包含在字符类中?

yzuktlbb

yzuktlbb1#

您的正则表达式包含A-z,表示65到122(ascii table)之间的任何字符。\是92福尔斯该范围内。像regex101这样的工具可以帮助澄清正则表达式中包含的内容
要修复此问题,请将正则表达式更新为仅指定字母或数字的/^[A-Za-z0-9]*$/

相关问题