创建正则有两种方式,字面量表达式和构造函数。
常用标识:
\ : 转义符,特殊转非特殊,非特殊转特殊
^:正则匹配开始
$: 正则匹配结束
*:匹配零次或多次
+:匹配一次到多次
?:匹配零次到多次
.:匹配换行符之外的任何单个字符
(x): 匹配‘x’并且记住匹配项
(?:) :匹配‘x’但不记住匹配项
x(?=y):先行断言,匹配'x',仅当'x'后面跟着'y'的时候
(?<=y)x:后行断言,匹配'x'仅仅当'x'前面是‘y’
x|y:匹配x或者y
{n}: n是一个整数,匹配前面的字符至少n次
{n,m}:n和m都是整数,匹配前面的字符至少n次,最多m次
[xyz]:字符集合,匹配字符集里的任意字符
[^xyz]:字符集合,不匹配字符集的任意字符
[\b]:匹配一个退格符
\b:匹配一个字符边界
\B:匹配一个非字符边界
\s:匹配一个空白字符,包括空格、制表符、换页符和换行符
\S:匹配一个非空白字符
\w: 匹配一个单字字符(字母、数字或者下划线)
\W:匹配一个非单字字符, 例如50%中的‘%’
\cX:当X是处于A-Z之间的字符的时候,匹配字符串中的一个控制符。
\d:匹配一个数字
\D:匹配一个非数字
\f:匹配一个换页符(U+00C)
\n:匹配一个换行符
\r:匹配一个回车符
\t:匹配一个制表符
\v:匹配一个垂直制表符
常用函数:
replace:一个在字符串中执行查找匹配的String方法,并且使用替换字符串替换掉匹配到的字符串。
match:一个在字符串中执行查找匹配的String方法,它返回一个数组或者在未匹配到的时候,返回null
split: 一个使用正则表达式或者一个固定字符串分隔一个字符串,并将分隔后的字符串存储到数组中的String方法
search: 一个字符串中测试匹配的String方法,它返回匹配的字符串索引
exec:一个在字符串中执行查找匹配的RegExp方法,它返回一个数组(未匹配返回null)
test:一个在字符串中测试是否匹配的RegExp方法,它返回true或者false
其中正则对应方法有exec和test,不过test返回true或者false,所以只有exec返回匹配的RegExp方法,其它的都是字符串方法,返回配置之后的字符串或者null。
网友评论