zoukankan      html  css  js  c++  java
  • 正则指引断言

    正则表达式中的大多数结构匹配的文本会出现在匹配的结果中,但是有时候不但关心目标文本的匹配,

    还要判断目标文本左右两侧的文本是否符合要求,这种要求的正则里叫做断言。

    常见的断言有三类:单词边界、行的起始、结束的位置、环视。
    单词边界:正则记着:\b,它匹配“单词边界”的位置。
    使用情况:
               \bword\b   \bword    word\b
    aword                                success
    awords
    words                   success
    word     success    success   success

    \B是非单词边界。

    行起始、结束位置在正则表达式中,这类匹配位置的元素叫做锚点,用来定位的,

    常用的锚点还有^和$,,分别匹配字符串的开始和结束的位置,如果匹配模式是多行的时候,

    他们还可以匹配每一行的开始和结束位置。使用表达式:(?m)^...$
    所以在多行模式时,匹配整段文本的开始和结束位置需要其他的方式,他们是\A和\Z

    环视:之前介绍边界匹配,它是完成这样的判断,在某个位置向左向右看,必须出现和必须不出现某些字符,这种功能在正则里面叫做环视。
    正则使用:

    (?!...)  是指当前位置之后,不容许出现能匹配的字符
    (?<!...) 是指当前位置之前,不容许出现能匹配的字符
    (?=...)  是指当前位置之后,容许出现能匹配的字符
    (?<=...) 是指当前位置之前,容许出现能匹配的字符

    在正则中还可以选择匹配模式,一般常见的匹配模式:不分大小写模式、单行模式、多行模式、注释模式
    使用:
    不分大小写模式(?i)
    单行模式(?s)
    多行模式(?m)
    注释模式(?x)

  • 相关阅读:
    Elasticsearch通关
    Zookeeper是什么
    手把手带你了解消息中间件(1)——基础
    为什么要分库分表
    mysql的innodb 引擎 表锁与行锁
    MySQL中Innodb的聚簇索引和非聚簇索引
    Redis主从和集群
    redis防止抢购商品超卖
    Laravel 核心--Facades 门面
    PHP数据库操作:使用ORM
  • 原文地址:https://www.cnblogs.com/lmfeng/p/2758140.html
Copyright © 2011-2022 走看看