使用PHP正则表达式验证文件路径

使用PHP正则表达式验证文件路径,php,regex,Php,Regex,我想验证C:\、D:\、E:\但下面的代码也接受不同的值 问题 此代码接受asasad:,192.168.10.28:这在我的情况下无效 <?php //sting coming as c drive $string = "C:\\"; //sting coming as d drive $string1 = "adsasdasdD:\\"; //sting coming as e drive $string2 = "E:\\"; //validate using reqular

我想验证C:\、D:\、E:\但下面的代码也接受不同的值

问题

此代码接受asasad:,192.168.10.28:这在我的情况下无效

<?php 

//sting coming as c drive
$string = "C:\\";

//sting coming as d drive
$string1 = "adsasdasdD:\\";

//sting coming as e drive
$string2 = "E:\\";

//validate using reqular expression
preg_match("#^[a-zA-Z0-9:.-]+#", $string1, $out);

//output the string
print_r($out);

对于任何字母的单一出现,请使用
[a-Za-z]
+
允许前面的模式出现一次或多次


所以你想要的是,
[A-Za-z]:\\

正则表达式匹配任何只包含这些字符的字符串,为什么它只验证那些驱动器号?^[A-Za-Z0-9:.-]+允许一个或多个字母、数字、冒号、点或连字符出现。我不是正则表达式的专家,但这显然匹配任何东西,甚至数字,在冒号之前。只有我必须验证[A-z]:值。该字段中只应存在一个字符entry@Sundar:我相信如果你直截了当地说你需要这个模式的正则表达式,有人可能会更愿意帮忙。你写的问题就好像你正在学习使用正则表达式,却无法运行它。很抱歉,现在你甚至都不想尝试了。