字符类和元字符
有很多常见的字符类(或取反的字符类)存在等价的元字符。比如:
\w [A-Za-z0-9_]
\W [^A-Za-z0-9_]
\d [0-9]
\D [^0-9]
\s [fnrtv])
\S [^fnrtv])
另外,在使用字符类时应该注意以下问题:
- [a-Z] 并不等同于 [A-Za-z]。因为在 ASCII 和 Unicode 字符集中,大写和小写的英文字母字符并不是连续存在的。事实上,在大写的 Z 的后面和小写 a 的前面有六个字符,而且全都不是字母字符。它们分别是 [(左方括号)、\(反斜杠)、](右方括号)、^(脱字符)、_(下划线)和 `(重音符);
- 表示对字符类取反的 ^ 字符只有位于左方括号直接后面时才表示取反的意思。否则,只匹配其自身;
- 表示范围的 – 字符,如果要通过字符类来匹配其自身时,注意不能用在字符之间,否则 – 仍然表示范围。