4.2.5 排除两端存在空白字符的文件全名验证(1)

  4.3.2 4.3.34.3.4小节中验证文件全名的正则表达式都没有考虑文件名两端存在空白字符的情况。然而,文件名的两端不能允许存在空白字符的。下面介绍排除两端存在空白字符的文件全名的验证方法。

要验证一个字符串不能为空白字符开头,可以使用零宽度负预测先行断言,即正则表达式(?!experssion)。该断言能够指定此位置的后面不能匹配表达式experssion。以下正则表达式能够验证不是以空白字符开头的、长度至少为1的字符串。

^(?! ).+$                                                                       48

  正则表达式(48)解释:

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

      .+匹配长度至少为1、由非换行字符组成的字符串。

      (?! )是零宽度负预测先行断言,它断言字符串不能以空白字符开头。

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

4.2.5 排除两端存在空白字符的文件全名验证(1)_第1张图片

 

 

 

 

  如果文件名不能以空白字符结束,实际上要验证.字符之前不能为空白字符。零宽度负回顾后发断言可以实现该功能,表达式为(?<!experssion),它断言自身位置的前面不能匹配字符串experssion。以下正则表达式能够验证.字符之前不能为空白字符的字符串。

^.+(?<! )/.$                                                                      49

  正则表达式(49)解释:

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

      .+匹配长度至少为1、由非换行字符组成的字符串。

      (?<! )是零宽度负回顾后发断言,它断言字符.的前面不能为空白字符。

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

 

 

4.2.5 排除两端存在空白字符的文件全名验证(1)_第2张图片

 

 

4.2.5 排除两端存在空白字符的文件全名验证(1)_第3张图片

 

 

你可能感兴趣的:(正则表达式,测试,regex,工具)