正则断言
相关文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions/Assertions
1. (?=X )
零宽度正先行断言。仅当子表达式 X 在 此位置的右侧匹配时才继续匹配。
例如,/w+(?=/d) 与后跟数字的单词匹配,而不与该数字匹配。此构造不会回溯。
2. (?!X)
零宽度负先行断言。仅当子表达式 X 不在 此位置的右侧匹配时才继续匹配。例如,/w+(?!/d) 与后不跟数字的单词匹配,而不与该数字匹配 。
3. (?<=X)
零宽度正后发断言。仅当子表达式 X 在 此位置的左侧匹配时才继续匹配。
例如,(?<=19)99 与跟在 19 后面的 99 的实例匹配。此构造不会回溯。
4. (?<!X)
零宽度负后发断言。仅当子表达式 X 不在此位置的左侧匹配时才继续匹配。
例如,(?<!19)99 与不跟在 19 后面的 99 的实例匹配
5.非捕获组
(?:),非捕获组,这个组没有编号,不能用来后向引用,只能当做断言。
(?:X),在正则中表示所匹配的子组X不作为结果输出
与或非
- “与”是最简单的关系,它表示若干个元素必须同时相继出现,比如匹配单词cat,其实就是要求字符c、字符a和字符t必须同时连续出现。
- 匹配模式A或者模式B(PatternA|PatternB)
- ^(?:(?!(.*components.*)).)+$,文本开头的右边内容,不出现任何符合断言的内容
问题记录
# 正则
<a[sS]*?(?=>)
#样本
<a href="https://nicen.cn/5889.html" title="【转】流量控制算法——什么是漏桶算法和令牌桶算法?">
右边的内容是不需要匹配进来的,需要一直匹配就需要左侧是动态变化的。
文章标题:正则断言有哪几种?正则如何实现与或非?
文章链接:https://www.muooy.cn/7928.html
更新时间:2026年04月12日
1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:305582964@qq.com,我们将第一时间处理!2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。
3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读用户协议和免责声明。


正则断言的种类和用法挺有意思的,尤其是零宽度断言,能精确控制匹配范围,感觉在处理复杂字符串时很有用呢!😊