学科分类
目录
JavaScript网页编程

预定义类

预定义类指的是某些常见模式的简写方式。JavaScript中给出的字符类别可以很容易地完成某些正则匹配,例如,大写字母、小写字母和数字可以使用“\w”直接表示;若要匹配0~9之间的数字可以使用“\d”表示。有效地使用字符类别可以使正则表达式更加简洁,便于阅读。常用的字符类别如表1所示。

表1 预定义符

字符 含义
. 匹配除“\n”外的任何单个字符
\d 匹配所有0~9之间的任意一个数字,相当于[0-9]
\D 匹配所有0~9以外的字符,相当于[^0-9]
\w 匹配任意的字母、数字和下划线,相当于[a-zA-Z0-9]
\W 除所有字母、数字和下划线以外的字符,相当于[^a-zA-Z0-9]
\s 匹配空格(包括换行符、制表符、空格符等),相当于[\t\r\n\v\f]
\S 匹配非空格的字符,相当于[^\t\r\n\v\f]
\f 匹配一个换页符(form-feed)
\b 匹配单词分界符。如“\bg”可以匹配“best grade”,结果为“g”
\B 非单词分界符。如“\Bade”可以匹配“best grade”,结果为“ade”
\t 匹配一个水平制表符(tab)
\n 匹配一个换行符(linefeed)
\xhh 匹配ISO-8859-1值为hh(2个16进制数字)的字符,如“\x61”表示“a”
\r 匹配一个回车符(carriage return)
\v 匹配一个垂直制表符(vertical tab)
\uhhhh 匹配Unicode 值为 hhhh (4个16进制数字)的字符,如“\u597d”表示“好”

为了方便读者理解字符类别的使用,下面我们以“.”和“\s”为例进行演示。

var str = 'good idea';

var reg = /\s../gi;   // 正则对象

str.match(reg);      // 匹配结果:[" id"]

在上述代码中,match()方法可以在目标字符串中正则匹配出所有符合要求的内容,匹配成功后将其保存到数组中,匹配失败则返回false。正则对象reg用于匹配空白符后的任意两个字符(除换行外)。因此在控制台的输出结果中,可以看到id前有一个空格。模式修饰符g表示全局匹配,用于在找到第一个匹配之后仍然继续查找;i表示忽略大小写。

点击此处
隐藏目录