在Javacript中,正则表达式是由一个RegExp对象表示的。正则表达式直接量被定义在一对斜杠(/)字符间。
正则表达式的直接量字符
字母数字字符
/f 换页符
/n 换行符
/r 回车符
/t 制表符
/v 垂直制表符
还有://, //, /., /*, /+, /?, /|, /(, /), /[, /], /{, /}
/XXX 表示由十进制数XXX指定的ASCII码字符
/Xnn 表示有十六进制数nn指定的ASCII码字符
字符类
[...] 括号内的任何字符
[^...] 不在括号内的任意字符
. 除换行符外的其他字符,等价于[^/n]
/w 任何单字字符,等价于[a-zA-Z0-9]
/W 任何非单字字符[^a-zA-Z0-9]
/s 任何空白符[/t/n/r/f/v]
/S 任何非空白符[^/t/n/r/f/v]
/d 任何数字[0-9]
/D 除数字外的任何字符[^0-9]
[/b] 一个退格直接量
复制字符
{n,m} 匹配前一项至少n次,但不超过m次
{n,} 匹配前一项至少n次,可以更多
{n} 匹配恰好n次
? 匹配0次或1次,即{0,1}
+ 匹配1次或多次,即{1,}
* 匹配0次或多次,即{0,}
选择、分组和引用字符
| 选择,匹配左边或右边的表达式
(...) 分组,将几个项目分为一个单元。
/n 和第n个分组所匹配的字符相匹配。分组是括号中的子表达式(可能嵌套),分组号是从左到右计数的左括号数。
锚字符
^ 匹配的字符串的开头
$ 匹配的字符串的结尾
/b 匹配的一个词语的边界,即位于/w和/W之间的位置
/B 匹配的非词语边界的字符
属性
i 执行大小写不敏感的匹配
g 执行一个全局匹配,即找到所有匹配,而不是找到第1个就停止