zoukankan      html  css  js  c++  java
  • 正则表达式中^的用法

    限定开头

    文档上给出了解释是匹配输入的开始,如果多行标示被设置成了true,同时会匹配后面紧跟的字符。
    比如: /^A/会匹配"An e"中的A,但是不会匹配"ab A"中的A

    取反(否)

    当这个字符出现在一个字符集合模式的第一个字符时,他将会有不同的含义。
    比如: /[^a-zs]/会匹配"my 3 sisters"中的"3" 这里的”^”的意思是字符类的否定,上面的正则表达式的意思是匹配不是(a到z和空白字符)的字符。

    总结

    什么时候"^"是否定字符,什么时候是匹配开始行。

    • 表示限定开头的示例:
    /[(^s+)(s+$)]/g
    (^cat)$
    (^cat$)
    ^(cat)$
    ^(cat$)
    
    • 表示否定的示例:
    [^a]表示“匹配除了a的任意字符”。
    [^a-zA-Z0-9]表示“找到一个非字母也非数字的字符”。
    [^abc]表示“找到一个插入符或者a或者b或者c”。
    

    经过对比,只要是"^"这个字符是在中括号"[]"中被使用的话就是表示字符类的否定,如果不是的话就是表示限定开头。
    我这里说的是直接在"[]"中使用,不包括嵌套使用。
    其实也就是说"[]"代表的是一个字符集,"^"只有在字符集中才是反向字符集的意思。

  • 相关阅读:
    Mysql 主备原理
    Mysql-innodb日志写入时机
    Innodb 架构
    Reactor/Proactor
    select,poll,epoll,IO多路复用进化史
    从硬件+操作系统的角度解释为什么操作系统的IO单位是磁盘块
    Dubbo 核心功能在业务架构中的体现
    Mysql-Innodb 锁总结
    第一阶段冲刺三
    第一阶段冲刺二
  • 原文地址:https://www.cnblogs.com/ZerlinM/p/13571752.html
Copyright © 2011-2022 走看看