zoukankan      html  css  js  c++  java
  • 正则表达式

    一 特殊符号

            一共12个, 这些是输出包含的字符序列, 所以像[[:alnum:]], [^[:alnum:]]这种两个中括号的表达式就比较好理解了; 尽量不要用[a-z]之类, 因为不同的字符编码方式, 对这种表达式的解释不同

    1 字母数字

       [:alnum:]→[0-9,a-z,A-Z]

       [:alpha:]→[a-z,A-Z]

       [:upper:]→[A-Z]

       [:lower:]→[a-z]

       [:digit:]→[ 0-9]

       [:xdigit:]→[ 0-9,a-f,A-F]

    2 空白字符

       [:blank:]→[ ‘ ’,‘ ’]

       [:space:]→[‘ ’, ‘f’,‘ ’,‘ ’, ‘v’, ‘ ’]

    3 其他字符

       [:cntrl:]→[控制字符,即ASCII中[0,31]范围内,还有127的字符]

       [:print:]→[可以打印的字符(字母, 数字, 标点符号, 空格),即ASCII中[32,126]范围内的字符]

       [:graph:]→[除空格外的可打印字符(字母, 数字, 标点符号),即ASCII中[33,126]范围内的字符]

       [:punct:]→[标点符号,即graph中除了字母跟数字]

    二 基础用法

    1 ^word→行首匹配

    2 word$→行尾匹配

    3 .→代表一定有一个任意字符的字符

    4 →转义字符前缀

    5 *→重复零个到无穷多个前字符

    6 [list]→list序列里面的任意字符

    7 [n1-n2]→根据编码方式, n1到n2之间的任意一个字符

    8 [^list]→不在list序列中的任意一个字符

    9 {n,m}→连续n到m个前字符

    10{n}→连续n个前字符

    11{n,}→连续n个以上前字符

    三 扩展用法

    1 +→重复一个或一个以上的前字符

    2 ?→零个或一个前字符

    3 |→or  eg: 'glad|good'

    4 ()→找出"组"字符串 eg: 'g(la|oo)d'

    5 ()+→重复一个或一个以上的组串 eg: 'A(xyz)C'

  • 相关阅读:
    刚刚开通
    腾讯面试经历2015
    排序之归并排序
    AC自动机
    后缀数组初步
    概率dp初探
    【NOIP2015】反思+题解
    Built-in functions
    poj2528 Mayor's posters(线段树区间覆盖)
    Codeforces #317 C.Lengthening Sticks(数学)
  • 原文地址:https://www.cnblogs.com/talenth/p/5820035.html
Copyright © 2011-2022 走看看