码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式--断言

时间:2017-05-01 17:06:50      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:pyw   class   大小写   pat   字符   target   法国   pbr   断言   

 

  密码的正则表达式,要求是密码8-16位,必须包含数字大小写字母以及特殊字符(~_@#$%&*^.!)

  高人写的:$pwd_pattern = ‘/^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[\.\!\~\_@#$%&*^])[a-zA-Z0-9\.\!\~_@#$%&*^]{8,16}$/‘; 

  

  经过学习,分析如下:

  (?=.*?[a-z]) 断言,只匹配一个位置

  比如,你想匹配一个“人”字,但是你只想匹配中国人的人字,不想匹配法国人的人,就可以用: (?=中国)人

  (?=.*[a-z])\d+  匹配以“任意字符连着一个小写字母”开头的数字,只匹配数字

  (?=.*?[a-z])\d+  匹配以“任意一个字符连着一个小写字母”开头的数字,只匹配数字    

  断言就是指明某个字符串前边或者后边,将会出现满足某种规律的字符串。

  /^[a-zA-Z0-9\.\!\~_@#$%&*^]{8,16}$/      12345678     qqqqqqqq  123!@#Wq都匹配   不满足要求

  /^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[\.\!\~\_@#$%&*^])[a-zA-Z0-9\.\!\~_@#$%&*^]{8,16}$/     123!@#Wq匹配   12345678     qqqqqqqq 不匹配

  

正则表达式--断言

标签:pyw   class   大小写   pat   字符   target   法国   pbr   断言   

原文地址:http://www.cnblogs.com/EnSnail/p/5833204.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!