`
zoutuo1986
  • 浏览: 178906 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

负向预查的运用后笔记

 
阅读更多

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}$)/

 

----个人感觉的部分,不知道是否正确,希望看到笔记的师兄提点。

分享到:
评论

相关推荐

    scss css预处理器-xmind笔记

    scss css预处理器-xmind笔记

    WOLF 讲师 向伟兴 CCNP CCIE 学习笔记

    《WOLF向伟兴 CCNP CCIE 学习笔记》是网络技术领域中一份非常珍贵的学习资源,由知名讲师向伟兴倾力打造。这份笔记集合了CCNP(思科认证网络专业人员)和CCIE(思科认证互联网专家)级别的知识精华,旨在帮助学员...

    读书笔记:《Linux命令行速查手册》笔记.zip

    读书笔记:《Linux命令行速查手册》笔记

    SQL增删改查笔记.md

    SQL增删改查笔记.md

    docker笔记笔记笔记笔记笔记笔记

    docker笔记笔记笔记笔记笔记笔记

    做笔记的做笔记

    根据给定文件的信息,我们可以提炼出与“做笔记”这一主题相关的多个知识点。接下来,将对这些知识点进行详细的阐述。 ### 知识点一:理解做笔记的...希望以上分享能够帮助大家更好地理解和运用“做笔记”这项技能。

    msql和oracle分页查询语句笔记

    msql和oracle分页查询语句笔记

    微信小程序 云笔记 (源码)

    微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小程序 云笔记 (源码)微信小...

    预解析自定义的笔记

    js 预解析

    狂神SpringBoot笔记+源码

    狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神SpringBoot笔记+源码 狂神...

    计算机网络 自顶向下方法 学习笔记 复习.docx

    计算机网络 自顶向下方法 学习笔记 期末复习

    oracle adg安装个人笔记

    oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记...

    笔记记录分享-笔记记录分享网站-笔记记录分享网站源码-笔记记录分享网站java代码-基于springboot的笔记记录分享网站

    笔记记录分享-笔记记录分享网站-笔记记录分享网站源码-笔记记录分享网站java代码-笔记记录分享网站设计与实现-基于springboot的笔记记录分享网站-基于Web的笔记记录分享网站设计与实现-笔记记录分享项目-笔记记录...

    有道云笔记如何调整窗口大小?.docx

    在隐藏笔记本栏和笔记本列表栏后,编辑面积将变得更大,用户可以更方便地编辑和浏览笔记。 九、放大和缩小笔记本的内容 调整笔记本的内容尺寸可以让用户更方便地阅读和编辑笔记。用户可以通过点击工具栏上的“放大...

    尚硅谷mysql笔记.zip

    7. 存储过程和触发器:存储过程是一组预编译的SQL语句,可提高效率并减少网络流量。触发器则是在特定事件(如INSERT、UPDATE、DELETE)发生时自动执行的程序。这两者都增强了数据库的逻辑处理能力。 8. 安全性与...

    ES6笔记笔记笔记笔记笔记

    ES6笔记笔记笔记笔记笔记

    Java笔记桌面程序

    通过这个Java笔记桌面程序,我们可以看到开发者如何运用自己的技术知识解决实际问题,这不仅是提升个人技能的一种方式,也是在IT行业中展示创造力和解决问题能力的良好实践。对于想要学习Java桌面应用开发的初学者来...

    小程序源码 云笔记 (代码+截图)

    小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+截图)小程序源码 云笔记 (代码+...

    杨超线代笔记.pdf

    杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代笔记.pdf杨超线代...

Global site tag (gtag.js) - Google Analytics