4.2.6 文件路径验证

来源:互联网 发布:天龙八部挂机软件 编辑:程序博客网 时间:2024/05/01 17:21

  在WindowsDOS操作系统中,文件路径满足以下5个特点:

      开头字符为硬盘的盘符,如C:D:等;

      被字符“/”分割的字符串;

      被分割后的每一个字符串要么是盘符,要么是文件夹名称。其中,文件夹名称的末尾可以包含空白字符;

      如果字符“/”后面为文件夹名称,则该字符后面不能紧接空白字符。

      如果字符“/”前面为盘符,则该字符后面可以紧接空白字符。

  1.盘符验证

  盘符一般由一个英文字符和冒号字符(:)组成。以下正则表达式能够验证盘符。

[a-zA-Z]:                                                                      51

  2.文件夹名称验证

  在WindowsDOS操作系统中,文件夹名称和文件名称命名规则相似。根据4.2.5小节,可以知道验证文件夹名称的正则表达式。以下正则表达式能够验证文件夹名称。

^(?! )[^///:*?"<>|]+(?<! )$                                             52

  3.文件路径验证

  综合上述两点,可以知道验证文件路径的正则表达式。以下正则表达式能够验证文件路径。

^[a-zA-Z]:(((//(?! )[^///:*?"<>|]+)+//?)|(//))/s*$                     53

正则表达式(138)解释:

      ^$分别匹配字符串的开始位置和结束位置。

      [a-zA-Z]:匹配盘符。

      (//)匹配字符“/”,它和[a-zA-Z]:/s*组合而成的表达式[a-zA-Z]:///s*将匹配硬盘根目录的路径。

      [^///:*?"<>|]+匹配文件夹名称。

      (?! )[^///:*?"<>|]+匹配不是以空白字符开头的文件夹名称。

      //(?! )[^///:*?"<>|]+)+匹配由1个或多个“字符/+不是以空白字符开头的文件夹名称”组成的字符串,如/Book/Rexpression

      //?可以匹配0个或1个字符“/”,它将匹配路径的最后一个字符“/”。

      /s*匹配路径最后的空白字符。

  使用工具Regex Tester测试正则表达式(138),结果如图所示。

 

 
原创粉丝点击