-
定义: 字符组就是一组字符,在正则表达式中,表示在同一位置可能出现的各种字符。
-
语法格式:
-
在字符组中可以出现重复字符,但不推荐。比如[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 [\t\n\r\v\f]
-
-
元字符与转移
-
在上面的例子中[0-9]中的
-
就是元字符。要将它变成转移字符的方式:[0\-9] // 通过 \ 将元字符 - 转译成普通字符 [-0-9] | [0-9-] // 将 - 放在 [后, 或者 ] 前
-
[
、]
、^
、$
都是元字符^ 匹配字符串的开头 [^asd] // ^ 放在字符组中 [ 后后面,表示匹配除去 asd外的所有字符 [a^sd] // ^ 放在字符组中的其它部位,就代表简单的 ^字符了 /a\^d/ // 在字符组外必须要用转义字符 \^ 将 ^转义成普通字符
-
表示所有任意字符
[\s\S] [\w\W] . // 不包含 \n
-
-
字符组运算
[aeiou] // 匹配元字符 /a-z/ && /[^aeiou]/ // 匹配非元字符;使用合集