用于查找有效文件名的正则表达式

2022-08-31 00:50:10

我想检查字符串是否是文件名(名称DOT ext)。

文件名不能包含/ ? * : ; { } \

你能建议我在preg_match()中使用正则表达式吗?


答案 1

给你:

"[^/?*:;{}\\]+\\.[^/?*:;{}\\]+"

“一个或多个不是这些字符的任何字符,然后是一个点,然后是一些不是这些字符的字符。

(只要您确定该点确实是必需的 - 如果不是,则只需:"[^/?*:;{}\\]+"


答案 2
$a = preg_match('=^[^/?*;:{}\\\\]+\.[^/?*;:{}\\\\]+$=', 'file.abc');

^ ... $ - begin and end of the string
[^ ... ] - matches NOT the listed chars.

推荐