4.2.6 文件路径验证

  在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),结果如图所示。

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值