• 正则核心知识点


    1.* 0个或者多个
    1.+ 1个或多个
    1.?0个或1个
    1.{1,}1个或多个{1,2}1个或2个{1,1}1个
    2.\s所有空白字符 \S所有非空白字符
    2.[\s\S]
    2.[A-Z]
    2.[^A-Z] 非A到Z
    2.[\u4e00-\u9fa5]中文
    3././换行符之外的任意字符 等价于,[^\n\r]
    4./\w/ 匹配字母、数字、下划线。等价于[A-Za-z0-9_]
    5.^开头 $结尾
    6.正则中的贪婪和非贪婪模式,/.//.?/
    7.\b单词边界 \B非单词边界
    8.(?😃 非捕获元(?=)非捕获元且正向预查(?!)非捕获元且反向预查
    9.贪婪模式:尽可能多的匹配 优先量词* + {1,}等都会进行贪婪匹配
    10.非贪婪模式:尽可能少的匹配 优先量词后加个?就是非贪婪配
    11.回溯:正则表达式在匹配时是正则符号一个一个进行匹配的,优先量词会尽可能多的匹配,可能会直接匹配到字符串的结尾,从而使得优先量词后面的正则符号没有可匹配的内容,然后优先量采用贪婪模式匹配到的字符放出来给优先量词后面的正则符号去匹配。
    12.子表达式会拒绝回溯。
    13.正向断言是是的意思,负向断言是非的意思。
    13.正向预言和负向预言的子表达式不会占用字符,也称零宽,但子表达式是非零宽的。
    13.先行和后行是正则匹配扫描时底层的动作,在预言的基础上先去扫还是后去扫的问题。

  • 相关阅读:
    【JUC系列-09】深入理解ReentrantReadWriteLock的底层实现
    13. 机器学习 - 数据集的处理
    在Postgresql中进行关键字查找
    Tomcat彻底卸载干净方法
    安卓自动化之minicap截图
    Java:Java中的堆栈和堆内存
    如何在手机或平板上编写代码?
    Java基础面试题
    正则表达式
    VSCode美化
  • 原文地址:https://blog.csdn.net/weixin_45731789/article/details/127601312