13.5.字符类
可以使用字符类指定字符列表以匹配正则表达式中的一个位置。使用方括号([ 和 ])定义字符类。例如,下面的正则表达式定义了匹配 bag、beg、big、bog 或 bug 的字符类:
/b[aeiou]g/
字符类中的转义序列
通常在正则表达式中具有特殊含义的大多数元字符和元序列在字符类中“不具有”那些特殊含义。例如,在正则表达式中星号用于表示重复,但是出现在字符类中时则不具有此含义。下列字符类匹配星号本身以及列出的任何其它字符:
/[abc*123]/
但是,下表中列出的三个字符功能与元字符相同,在字符类中具有特殊含义:
元字符 |
在字符类中的含义 |
---|---|
] |
定义字符类的结尾。 |
- |
定义字符范围(请参阅后面的“字符类中字符的范围”一节)。 |
\ |
定义元序列并撤销元字符的特殊含义。 |
对于要识别为字面字符(无特殊元字符含义)的任何字符,必须在该字符前面加反斜杠转义字符。例如,下面的正则表达式包含匹配四个符号($、\、] 或 -)中任意一个符号的字符类。
/[$\\\]\-]/
除能够保持特殊含义的元字符外,下列元序列在字符类中也具有元序列功能:
元序列 |
在字符类中的含义 |
---|---|
\n |
匹配换行符。 |
\r |
匹配回车符。 |
\t |
匹配制表符。 |
\unnnn |
匹配具有指定 Unicode 代码点值(由十六进制数字 nnnn 定义)的字符。 |
\\xnn |
匹配具有指定 ASCII 值(由十六进制数字 nn 定义)的字符。 |
其它正则表达式元序列和元字符在字符类中看作普通字符。
加支付宝好友偷能量挖...