您面临的挑战是找到提供的文件名的文件扩展名:
hi.txt -> txt or .txt
carrot.meme -> meme or .meme
lol (undefined behavior)
what..is..this..file -> file or .file
.bashrc -> bashrc or .bashrc
T00M@n3KaPZ.h0wC[]h -> h0wC[]h or .h0wC[]h
agent.000 -> 000 or .000
您必须从字符串的最后.
或最后.
到结尾再获取文本。正则表达式的第一个捕获组匹配/\.([^.]+)$/
有效,在.
s 上分割输入并返回最后一个也是如此。
文件名将始终至少包含一个.
,但可能包含多个.
。(请参见示例)
输入将始终匹配^[.a-zA-Z0-9^!\[\]{}@$%+=]+$
。