正则表达式——lookahead and lookbehind

lookahead and lookbehind的概念 假设有字符串“ABC” ,如果我们要匹配B,可以有两种描述方法: lookahead:即后面跟着“C”的字符串。 lookbehind:即前面以“A”开头的的字符串。 这两种描述都能匹配到“B”,只是描述的条件不一样。 lookahead 我们知道正则表达式中“|”等价于 OR, 即,同时可以匹配 aaa或bbb。那么正则表达式中是否有对应的类似 AND 的操作呢,例如,我们验证一个密码强度是否同时满足以下几个要求: 必须包含小写字母 必须包含大写字母 必须包含数字 必须包含特殊符号 长度必须大于8 通常,对于上面的几个要求,我们都是把这5个要求拆分成5个单独的正则表达式来进行验证,但是现在要求你用一行正则搞定,怎么办呢? 答案就是正则中的“ a non-consuming regular expression”,其中 lookahead就是最常用的一种,又可分为positive lookahead assertion (?=expr)…