^(?<path>(?:[a-zA-Z]:)?//(?:[^///?///*/|<>:"]+//)+)(?<filename>(?<name>[^///?///*/|<>:"]+?)/.(?<ext>[^.///?///*/|<>:"]+))$
下面解析下这个表达式
01^ #匹配字符串的开始
02(?<path> #文件路径分组,指定分组名为path
03(?:[a-zA-Z]:)?// #匹配盘符,如"C:/"、"e:/"、"/"
04(?:[^///?///*/|<>:"]+//)+ #匹配文件夹名称部分,如"folder1/"、"folder1/folder2/"
05) #文件路径分组结束
06(?<filename> #文件名分组,指定分组名为filename
07(?<name> #文件名分组,指定分组名为name
08[^///?///*/|<>:"]+?) #匹配文件名称,不包含字符'/'、'?'、'/'、'|'、'<'、'>'、':'、'"'
09/. #匹配字符'.'
10(?<ext>[^.///?///*/|<>:"]+) #匹配文件后缀名
11)
12$ #匹配字符串的结束

5733

被折叠的 条评论
为什么被折叠?



