在PHP中查找与一组字符匹配的正确模式
我正在搜索正确的模式以匹配字符串,该字符串可能仅包含以下字符:在PHP中查找与一组字符匹配的正确模式,php,regex,string,match,Php,Regex,String,Match,我正在搜索正确的模式以匹配字符串,该字符串可能仅包含以下字符: a-z A-z 0-9 此外: @!#$&'()+-,./[]_~ 我尝试了以下php代码: preg_match('/^[a-zA-Z0-9@\!#\$&\'\(\)\+,\-\./\[\]_~]{0,255}$/', $path) 我将被用于路径。在文件系统上创建任何目录之前,我只希望允许这些字符 但无论我如何改变模式,它都不会匹配正常路径 /bin/bash /home/user 为了使其工作,应该对其
a-z
A-z
0-9
此外:
@!#$&'()+-,./[]_~
我尝试了以下php代码:
preg_match('/^[a-zA-Z0-9@\!#\$&\'\(\)\+,\-\./\[\]_~]{0,255}$/', $path)
我将被用于路径。在文件系统上创建任何目录之前,我只希望允许这些字符
但无论我如何改变模式,它都不会匹配正常路径
/bin/bash
/home/user
为了使其工作,应该对其进行哪些更改?当您使用正斜杠作为分隔符时,需要对其进行转义:
preg_match('/^[a-zA-Z0-9@\!#\$&\'\(\)\+,\-\.\/\[\]_~]{0,255}$/', $path)
^^ here
这些是路径的有效字符吗?我就知道。。。非常小的东西。谢谢!!:-)