正则表达式-字符组

  1. 定义: 字符组就是一组字符,在正则表达式中,表示在同一位置可能出现的各种字符。

  2. 语法格式:

    • 在字符组中可以出现重复字符,但不推荐。比如[0234544287]是没有语法错误的,但是不推荐。

    • 一个[]对应一个占位符

    • - 范围表示法:如[x-y]表示x对应ASCII编码到y对应ASCII编码范围内的所有字符。

      • 要求: x-ASCII < y-ASCII

        // 0-9 对应的ASCII编码是:48-57
        // A-Z 对应的ASCII编码是:65-90
        // a-z 对应的ASCII编码是:97-122
        // 用[0-z]表示[0-9A-Za-z]不是不可以,但不推荐。按照惯例,字符组的范围都表示一类字符;其次,他们间隔的部分,像58-64、91-96又是其它字符,就会出现问题
        

    • 字符组的简单表示法

      d [0-9]
      w [0-9A-Za-z_]
      s [	
      
      vf]
      
  3. 元字符与转移

    • 在上面的例子中[0-9]中的-就是元字符。要将它变成转移字符的方式:

      [0-9]  // 通过  将元字符 - 转译成普通字符
      [-0-9] | [0-9-]  // 将 - 放在 [后, 或者 ] 前
      
    • []^$都是元字符

      ^ 匹配字符串的开头
      [^asd]  // ^ 放在字符组中 [ 后后面,表示匹配除去 asd外的所有字符
      [a^sd] // ^ 放在字符组中的其它部位,就代表简单的 ^字符了
      /a^d/  // 在字符组外必须要用转义字符 ^ 将 ^转义成普通字符
      
    • 表示所有任意字符

      [sS] 
      [wW]
      .   // 不包含 
      
      
  4. 字符组运算

    [aeiou] // 匹配元字符
    /a-z/ && /[^aeiou]/  // 匹配非元字符;使用合集
    
原文地址:https://www.cnblogs.com/tina-12138/p/13241750.html