正则中的预判

Posted To be better

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则中的预判相关的知识,希望对你有一定的参考价值。

预判:在正式匹配正则表达式之前,先预读整个字符串,进行初步匹配,如果预判都未通过,则不再验证!

 1)(?=表达式): 先浏览字符串是否满足表达式的要求

      何时使用:只要正则中出现类似"而且"

      比如:4位数字,但不能包含4和7

      (?=[^47]$) 是否由除了4,7之外的字符组成

 2)(?!表达式):先检查字符串是否不满足表达式要求

   比如:6位以上密码。

   字母,数字组成

           首字母不能是数字: [a-zA-Z][a-zA-Z0-9]{5,}

           必须至少包含1个大写字母

           不能都由小写字母和数字组成: (?![a-z0-9]+$)

           必须至少包含1个数字

           不能都由小写字母和大写字母组成:

            (?![a-zA-Z]+$)

以上是关于正则中的预判的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式没有想象中的那么难

正则表达式在js中的用法

shell中的正则表达式

c# 正则表达式提取()中的值

正则表达式中的插入操作

4-19 Linux中的正则表达式 --- 字符匹配