zoukankan      html  css  js  c++  java
  • 正则表达式普遍风格

    (原创)

    正则表达式普遍的风格如下,不同语言或者包的具体实现可能不同。

    一、基本标识符

    \ 表示转义
    \xA9 \x 16进制
    . 任意字符

    a|b a或b,注意,如果是 a|ab,去匹配 ab ,那么大多数引擎是匹配到 a,只有少数是匹配到ab
    [abc] set内的或
    [a-zA-Z0-9] 范围的一种写法
    [^abc] 非set
    ^ 起始(匹配位置,而不是字符)
    $ 结束(匹配位置,而不是字符)

    \b word boundary 单词位置, 这种位置左右边有且仅有一边是字符。

    例如: \b.\b 匹配 abc def ghi 三个单词中间的两个空格

    二、数量,懒惰,独占

    ? 0-1
    ?? lazy
    ?+ Possessive ,不回溯
    例如,abc?+c ,abcc 能行,abc 不行
    * 0-无穷
    *? lazy
    *+ Possessive ,不回溯
    + 1-无穷
    +? lazy
    ++ Possessive ,不回溯
    例如: abc++c 是不能匹配任何字符串的~
    a{n} n个a
    a{n,m} 范围 n到m个

    三、捕获组
    (groupa) 括号括起来
    捕获组可以具有索引值,英文是 backreference,如
    (abc|def)=\1 匹配 abc=abc
    原子组,不回溯:
    a(?>bc|b)c 匹配abcc,但abc不行


    向前(右)向后(左):
    a(?=b) 向前为
    a(?!b) 向前非
    (?<=a)b 向后为
    (?<!a)b 向后非

    索引(backreference)数字序列:从左到右,从外到内递归递增,例如:
    (str1)(str2(str3))(str4)
    str1 索引1,str2(str3) 整体索引2 ,str3 索引3 ,str4 索引4

  • 相关阅读:
    AC 自动机
    [P4735] 最大异或和
    [HNOI2006] 最短母串问题
    [SHOI2002] 取石子游戏
    [NOI2014] 动物园
    [BZOJ2839] 集合计数
    【Spark】object not serializable (class: A)
    【Hbase】Master startup cannot progress, in holding-pattern until region onlined.
    Hbase 各个角色的工作。
    hbase region均衡机制
  • 原文地址:https://www.cnblogs.com/randomstring/p/15707300.html
Copyright © 2011-2022 走看看