如何解决用于检测文件扩展名的正则表达式
| 我需要一个正则表达式,它将检测字符串中的文件名-看看它是否以.pdf或.PDF结尾-不区分大小写。如果用户的文件名混乱,甚至应匹配.Pdf或pdf的任何变体。 这将在PHP 5中使用。我知道我可以针对各种情况进行一堆行测试,但是我敢肯定有一种更优雅的方法可以做到这一点。解决方法
正则表达式没有任何问题,但是还有一个现成的函数,用于解析路径并从中提取扩展名:
echo pathinfo(\"/path/to/myfile.txt\",PATHINFO_EXTENSION); //.txt
,这个怎么样。我不知道您使用的是哪种语言,但这是一个正则表达式,用于匹配以.pdf结尾的任何内容
.+([.][Pp][Dd][Ff]){1}
我的错。我睡着了是PHP。
不知道PHP,但正则表达式应该工作
,另一种可能性是降低扩展
strtolower(pathinfo(\"/path/file.pDf\",PATHINFO_EXTENSION)) == \".pdf\"
,正如其他人指出的那样,提取扩展名是可行的,否则您可以执行类似的操作。
preg_match(\'/.*\\.pdf/i\',\"match_me.pDf\",$matches);
,如果您的字符串由单个文件名组成,这是一个简单的正则表达式解决方案:
if (preg_match(\'/\\.pdf$/i\',$filename)) {
// Its a PDF file
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。