赞
踩
字符类可以区分各种字符,例如区分字母和数字。
.
有下列含义之一:
\n(换行符)
,\r(回车符)
,\u2028(行分隔符)
或者\u2029(段落分隔符)
。let reg = /.y/g;
let str = "yes make my day";
str.match(reg); // ['my', 'ay']
let reg = /\./g;
let str = ".u";
str.match(reg); // ['.']
注意,m
多行标志不会改变点的行为。因此,要匹配多行模式,可以使用字符类[^]
,它将匹配包括换行符在内的任何字符。
let reg = /[^]/g;
let str = ".u\n\r\u2028\u2029";
str.match(reg); // ['.', 'u', '\n', '\r', '
', '
']
ES2018 添加了 s“dotAll”
标志,它允许点也匹配行终止符。
let reg = /./g;
let str = "yes make my day\n";
str.match(reg); // ['y', 'e', 's', ' ', 'm', 'a', 'k', 'e', ' ', 'm', 'y', ' ', 'd', 'a', 'y']
reg = /./gs;
str.match(reg); // ['y', 'e', 's', ' ', 'm', 'a', 'k', 'e', ' ', 'm', 'y', ' ', 'd', 'a', 'y', '\n']
\d
匹配任何数字(阿拉伯数字)。相当于 [0-9]
。
let reg = /\d/g;
let str = "B2is the suite number";
str.match(reg); // ['2']
\D
匹配任何非数字(阿拉伯数字)的字符。相当于[^0-9]
。
let reg = /\D/g;
let str = "B2is the suite number";
str.match(reg); // ['B', 'i', 's', ' ', 't', 'h', 'e', ' ', 's', 'u', 'i', 't', 'e', ' ', 'n', 'u', 'm', 'b', 'e', 'r']
\w
匹配基本拉丁字母中的任何字母数字字符,包括下划线。相当于 [A-Za-z0-9_]
。
let reg = /\w/g;
let str = "B2is_the-suite number";
str.match(reg); // ['B', '2', 'i', 's', '_', 't', 'h', 'e', 's', 'u', 'i', 't', 'e', 'n', 'u', 'm', 'b', 'e', 'r']
\W
匹配任何不是来自基本拉丁字母的单词字符。相当于 [^A-Za-z0-9_]
。
let reg = /\W/g;
let str = "B2is_the-suite number";
str.match(reg); // ['-', ' ']
\s
匹配单个空白字符,包括空格、制表符、换页符、换行符和其他 Unicode 空格。相当于 [ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]
。
let reg = /\s/g;
let str = "B2is_the-suite number\f\n\r\t\v\u00a0\u1680\u2000\u200a\u2028\u2029\u202f\u205f\u3000\ufeff";
str.match(reg);// [' ', '\f', '\n', '\r', '\t', '\v', ' ', ' ', ' ', ' ', '
', '
', ' ', ' ', ' ', '']
\S
匹配除空格以外的单个字符。相当于[^ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]
。
reg = /\S/g;
str.match(reg); // ['B', '2', 'i', 's', '_', 't', 'h', 'e', '-', 's', 'u', 'i', 't', 'e', 'n', 'u', 'm', 'b', 'e', 'r']
\t
匹配水平制表符。
let reg = /\t/g;
let str = "B2is_the-suite number\f\n\r\t\v\u00a0\u1680\u2000\u200a\u2028\u2029\u202f\u205f\u3000\ufeff";
str.match(reg); // ['\t']
\r
匹配回车符。
let reg = /\r/g;
let str = "B2is_the-suite number\f\n\r\t\v\u00a0\u1680\u2000\u200a\u2028\u2029\u202f\u205f\u3000\ufeff";
str.match(reg); // ['\r']
\n
匹配换行符。
let reg = /\n/g;
let str = "B2is_the-suite number\f\n\r\t\v\u00a0\u1680\u2000\u200a\u2028\u2029\u202f\u205f\u3000\ufeff";
str.match(reg); // ['\n']
\v
匹配垂直制表符。
let reg = /\v/g;
let str = "B2is_the-suite number\f\n\r\t\v\u00a0\u1680\u2000\u200a\u2028\u2029\u202f\u205f\u3000\ufeff";
str.match(reg); // ['\v']
\f
匹配换页符。
let reg = /\f/g;
let str = "B2is_the-suite number\f\n\r\t\v\u00a0\u1680\u2000\u200a\u2028\u2029\u202f\u205f\u3000\ufeff";
str.match(reg); // ['\f']
[\b]
匹配退格键。
\0
匹配一个 NUL
字符。不要在此后面加上另一个数字。
\cX
使用插入符号匹配控制字符,其中“X”
是 A–Z
中的一个字母(对应于代码点 U+0001–U+001F
)。
let reg = /\cM/g;
let str = "\r\t";
str.match(reg); // ['\r']
\xhh
匹配与代码 hh
(两个十六进制数字)对应的字符。
\uhhhh
匹配与值 hhhh
(四个十六进制数字)对应的 UTF-16
代码单元。
\u{hhhh}
或 \u{hhhhh}
(仅当设置了 u
标志时。)匹配与 Unicode
值 U+hhhh
或 U+hhhhh
(十六进制数字)对应的字符。
\p{UnicodeProperty}
,\P{UnicodeProperty}
根据字符的 Unicode
字符属性匹配字符(例如,仅匹配表情符号字符、日文片假名字符、中文汉字字符或日文汉字字符等)。
\
指示应特殊处理或“转义”后面的字符。它表现为两种方式之一。
/b/
匹配字符“b”
。通过在“b”
前面放置反斜杠,即使用 /\b/
,字符变得特殊以表示匹配单词边界。“*”
是一个特殊字符,表示应该匹配前面的字符出现 0
次或多次;例如,/a*/
示匹配 0
个或多个“a”
。要从字面上匹配 *
需在其前面加上反斜杠;例如,/a\*/
匹配“a*”
。如果你感觉文章不咋地
//(ㄒoㄒ)//
,就在评论处留言,作者继续改进;o_O???
如果你觉得该文章有一点点用处,可以给作者点个赞;\\*^o^*//
如果你想要和作者一起进步,可以微信扫描二维码,关注前端老L;~~~///(^v^)\\\~~~
谢谢各位读者们啦(^_^)∠※
!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。