1,格式(?!pattern)
2,定义
负向预查,在任何不匹配pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如'Windows (?!95|98|NT|2000)' 能匹配 "Windows 3.1" 中的 "Windows",但不能匹配 "Windows 2000" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始
3,运用中找到的规律
() 括号前面 需要有字符 如果没有 就 加上 ^
可以连续加多个负向预查 ^(?!pattern)(?!pattern) 两个预查是“并行的”,因为预查不消耗字符,预查不消耗字符,预查不消耗字符(重要的事情说三次)
4,运用
10,20个(数字 字母 特殊字符 三者缺一不可)组成的字符串
/^(?![数字|特殊字符]+$)(?![数字|字母]+$)(?![字母|特殊字符]+$)(^[数字|特殊字符|字母]{10,18}$)/
解释:从第一个字符开始进行三次负向预查,如果字符串有 数字 或 特殊字符 组成 ,,组成,,,组成,都会被否定,必须由三种类型同时存在的情况下 才OK。
4.1注意 /^(?!patternA1&)(?!patternA2&)patternB/ 第一个 ^非常重要,如果没有它,就没有需要的效果,如果不加^,也可以 加固定字符, 个人感觉:"负向预查"之前必须带东西,不然预查就找不到”方向“了。
4.2 个人感觉 负向预查中的 ?! 优先级非常高 但是 没有括号高所以 如果想把多次预查 放到一起,外面就必须加上括号
/^(?!([数字|特殊字符]+|[数字|字母]+|[字母|特殊字符]+)$)(^[数字|特殊字符|字母]{10,18}$)/
----个人感觉的部分,不知道是否正确,希望看到笔记的师兄提点。
相关推荐
Illustrator笔记 ai笔记第六课-路径的认识与高级运用.pdfIllustrator笔记 ai笔记第六课-路径的认识与高级运用.pdfIllustrator笔记 ai笔记第六课-路径的认识与高级运用.pdfIllustrator笔记 ai笔记第六课-路径的认识与...
scss css预处理器-xmind笔记
git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记git...
笔记笔记笔记笔记笔记笔记笔记笔记笔记算法笔记算法笔记算法笔记算法笔记算法笔记
MFC笔记 MFC笔记 MFC笔记 MFC笔记 MFC笔记 MFC笔记
c语言笔记c语言笔记c语言笔记c语言笔记
j2ee 笔记 j2ee 笔记 j2ee 笔记 j2ee 笔记
工作笔记工作笔记工作笔记工作笔记工作笔记工作笔记工作笔记工作笔记工作笔记工作笔记工作笔记工作笔记工作笔记工作笔记工作笔记工作笔记工作笔记工作笔记工作笔记工作笔记工作笔记工作笔记工作笔记工作笔记
java笔记java笔记java笔记java笔记java笔记java笔记java笔记
ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记...
JDBC笔记 JDBC笔记 JDBC笔记
笔记
30个提高数据库查询效率方法总结笔记 30个提高数据库查询效率方法总结笔记
SQL增删改查笔记.md
python笔记python笔记python笔记python笔记python笔记python笔记python笔记python笔记python笔记
JQuery笔记JQuery笔记JQuery笔记JQuery笔记JQuery笔记JQuery笔记JQuery笔记JQuery笔记JQuery笔记JQuery笔记JQuery笔记JQuery笔记JQuery笔记JQuery笔记JQuery笔记
javascript笔记javascript笔记javascript笔记
dataguard笔记dataguard笔记dataguard笔记
SPRING 笔记SPRING 笔记SPRING 笔记
WOLF 向伟兴 CCNP CCIE 笔记,讲师的笔记自然很牛了!