② 直接量字符:
正如在上篇文章所提到的,在正则表达式中所有的字母和数字都是按照直接量与自身相匹配的。JavaScript的正则表达式语法还通过以反斜杠(\)开头的转义序列支持某些非字母的字符。例如,序列" \n "在字符串中匹配的是直接量换行符。下表列出了这些字符:
字符 | 匹配 |
字母和数字 | 自身 |
\ o | NUL字符 |
\ t | 制表符 |
\ n | 换行符 |
\ v | 垂直制表符 |
\ f | 换页符 |
\ r | 回车 |
在正则表达式中,许多标点符号具有特殊的含义。它们是:
^ $ . * + ? = ! : | \ / () {}
在后续文章中,我们将讨论这些符号的含义。某些符号只在正则表达式的特殊环境中才具有特殊的含义,在其他环境中则被按照直接量进行处理。但是,作为一个通用的原则,如果在正则表达式中按照直接量使用这些标点符号,就必须加前缀\。
如果记不清楚哪些标点符号需要用反斜杠转义,可以在每个标点符号前都使用反斜杠。
alert(/\$java/.test("abc$javanba")); //true
当然,要在正则表达式中添加按照直接量理解的反斜杠,必须用反斜杠将其转义。例如正则表达式"/\\/"与任何包含反斜杠的字符串匹配。