前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >正则断言有哪几种?正则如何实现与或非?

正则断言有哪几种?正则如何实现与或非?

原创
作者头像
Power
发布2023-05-31 11:13:51
2140
发布2023-05-31 11:13:51
举报
文章被收录于专栏:源码库源码库

正则断言

相关文档: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不作为结果输出

与或非

  1. “与”是最简单的关系,它表示若干个元素必须同时相继出现,比如匹配单词cat,其实就是要求字符c、字符a和字符t必须同时连续出现。
  2. 匹配模式A或者模式B(PatternA|PatternB)
  3. ^(?:(?!(.*components.*)).)+$,文本开头的右边内容,不出现任何符合断言的内容

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正则断言
    • 1. (?=X )
      • 2. (?!X)
        • 3. (?<=X)
          • 4. (?<!X)
            • 5.非捕获组
            • 与或非
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档