REGEX用于任何文件扩展名

时间:2014-03-06 20:43:01

标签: regex

我正在尝试构建一个正则表达式来判断字符串是否是有效的文件扩展名。它可能是任何扩展。

hello        no
.hello       Yes
..hello      No
hello.world  No
.hello.world No
.hello world No

我试过^ \。和^ \。[\。]但是无法得到我想要的东西。这似乎应该很简单。

6 个答案:

答案 0 :(得分:8)

^\.[^.]+$

这意味着从.开始,然后以点(.

以外的任何其他方式开始

如果您只想使用aplhanumeric。:

,也可以使用此选项
^\.[a-zA-Z0-9]+$

答案 1 :(得分:3)

试试这个正则表达式:

^\.[\w]+$

匹配以“。”开头的字符串,后跟一个或多个“word”字符,直到字符串的结尾。

答案 2 :(得分:2)

试试这个正则表达式,它匹配所有字符串,以点开头,后跟至少一个其他字符:

^\.[^.]+$

答案 3 :(得分:1)

这在 javascript 中对我有用

^[.][a-zA-Z0-9.,$;]+$

答案 4 :(得分:0)

如果你已经有一个带有扩展名的images={[ rowData.image_fields1, rowData.image_fields2, rowData.image_fields3, ]} 字符串,而你只是测试它是否匹配,那么你可以尝试".hello"之类的东西。它适用于所有示例案例。

开头^\.[^\\/:*?"<>|\s.]{1,255}$表示整个字符串必须以文字点“。”开头。

^\.表示在点之后你可以有任何字符,除了反斜杠,正斜杠,冒号,星号,问号,双引号,小于或大于符号,垂直条,空白字符,或点。您可以随意在胡萝卜之后添加您想要禁用的方括号内的任何其他字符,或者删除我希望允许的任何字符。
(注意:filenames / extensions的允许字符取决于文件系统。)

最后的[^\\/:*?"<>|\s.]量化了我们刚刚定义到字符串结尾的允许字符数量。因此,在点和允许之后的任何内容都可以在1到255个字符之间,并且必须一直持续到字符串的结尾。随意将255更改为您喜欢的任何数字。
(注意:文件名/扩展名的最大长度取决于文件系统。)

如果您要搜索{1,255}$之类的字符串作为文件扩展名,则应使用"https://sub.example.com/directory1/directory2/file.php"搜索包含点的最终扩展名。

答案 5 :(得分:0)

我使用:

(?:.*\\)+([^\\]+)

对于Windows,它会生成带有扩展名的短文件名。