美文网首页
正则表达式?: ?!理解

正则表达式?: ?!理解

作者: 愤怒的老照 | 来源:发表于2020-05-24 18:46 被阅读0次

官网定义:

image.png

前瞻后顾

要理解正则中的这几个用法,就需要用到前瞻、后顾、负前瞻、负后顾四个概念。
我理解这里说的前瞻和后顾不是相对于句子来说的,而是相当于正则解释器来说的,前瞻就是解释器还没有解释到的地方,后顾就是解释器已经处理的地方。

说明

  • 前瞻: exp1(?=exp2) 查找exp2前面的exp1
  • 后顾: (?<=exp2)exp1 查找exp2后面的exp1
  • 负前瞻: exp1(?=exp2) 查找后面不是exp2的exp1
  • 负后顾: (?<=exp2)exp1 查找前面不是exp2的exp1

例子

1、用户名格式要求,满足个数是2-20,同时包含数字和字符,并且不包含特殊字符
"^(?!.*[@])(?!\\s*$)(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]{2,20}$
2、密码格式要求,不能为纯数字且不能包含特殊符号
^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$
3、字符串ABA、CBC、DBD

  • 想要匹配ABA中的B,需要前瞻后顾,(?<=A)B(?=A)
  • 想要除了ABA中的B,需要负前瞻和负后顾(?<!A)B(?!A)

相关文章

  • java基础之正则表达式

    深入理解正则表达式 你是如何学会正则表达式的?

  • 正则表达式

    在线正则表达式测试工具 深入理解正则表达式 详解正则表达式匹配方法 match() {}[]\d\w

  • SQL的正则表达式

    注意:正则表达式后面需用''括起来,因为正则表达式是针对“文本”的匹配。 正则表达式REGEXP可以理解为可支持更...

  • 2019-05-27 高级文本处理(二)

    1 正则表达式(Regular Expression) 1.1 概念理解 正则表达式独立于特定的语言。用事先定义的...

  • 正则表达式中的量词

    自我感觉量词是正则表达式里最不容易理解的地方,所以特别为它做了个总结。 为了容易理解,会简单地结合正则表达式引擎的...

  • 在Java中使用正则表达式

    我对正则表达式的理解 正则表达式Regex(Regular Expression),是一种通过定义由特定字符组成的...

  • 第一章 字符组

    1.1 字符组   字符组(character class)是正则表达式最基本的结构之一,要理解正则表达式的“灵活...

  • 正则表达式的理解和初步优化

    正则表达式的优化 为了高效地使用正则表达式,首先要理解它的工作原理。 编译 当你创建一个正则表达式对象(使用正则直...

  • 【shell笔记>实战】正则表达式实战

    这里演示shell脚本中常见的一些正则表达式例子。如果你对正则表达式不理解,先阅读学习正则表达式一文。 目录文件计...

  • 在线正则表达式测试工具

    分享正则表达式可视化器和测试工具。 正则表达式可视化器 图形化显示正则表达式这样容易理解点。main_page1 ...

网友评论

      本文标题:正则表达式?: ?!理解

      本文链接:https://www.haomeiwen.com/subject/bdijahtx.html