初学正则表达式
首先:献上DOC MDN 正则表达式
正则表达式是被用来匹配字符串中的字符组合的模式。在JavaScript中,正则表达式也是对象。这种模式可以被用于 RegExp 的 exec 和 test 方法以及 String 的 match、replace、search 和 split 方法。本章介绍的是 Javascript 的正则表达式。
创建正则表达式:
常见的记号:
\ 转义字符
^ 以xx开头
$ 以xx结束
* 0至多个 {0,}
+ 1至多个 {1,}
? 0或1 {0,1}
. 匹配除换行符(\n)之外的单个字符,如果要匹配包括 \n 在内的任意字符,可以使用[\s\S]等
(x) 匹配并且记住匹配项’x’,也叫捕获括号
(?:x) 匹配’x’但不记住匹配项
x=(?=y) 匹配’x’仅当x后面跟着y时
x=(!=y) 匹配’x’仅当x后面不跟着y时
x|y 匹配x或y
{n} 匹配前面一个字符刚好发生了n次
{n,m} 匹配前面一个字符 >=n && <= m 次
[xyz] 一个字符集合,匹配方括号中的任意字符,其内部可以使用-表示范围,如a-z
[^xyz] 一个反向字符集,匹配任何没有包含在[]中的字符
[\d] 匹配一个数字,等价于[0-9]
[\D] 匹配一个非数字,等价于 [^0-9]
\s 匹配一个空白符,包括空格、制表符、换页符、换行符和其他 Unicode 空格
\S 匹配一个非空白字符
\w 匹配任意基本拉丁字母表中单词(字母数字下划线)字符。匹配一个单字字符(数字、字母或下划线),等价于[A-Za-z0-9_]
\W 匹配一个非单字字符(数字、字母或下划线),等价于[^A-Za-z0-9_]
\b 匹配一个单词的边界,简而言之,就是位于字符\w和字符\W之间的位置,或位于字符\w和字符串的开头或结尾之间的位置(但需要注意的是在字符组内[\b]匹配的是退格符)
\B 匹配非单词边界的位置
方法 描述 exec 一个在字符串中执行查找匹配的RegExp方法,它返回一个数组(未匹配到则返回null)。 test 一个在字符串中测试是否匹配的RegExp方法,它返回true或false。 match 一个在字符串中执行查找匹配的String方法,它返回一个数组或者在未匹配到时返回null。 search 一个在字符串中测试匹配的String方法,它返回匹配到的位置索引,或者在失败时返回-1。 replace 一个在字符串中执行查找匹配的String方法,并且使用替换字符串替换掉匹配到的子字符串。 split 一个使用正则表达式或者一个固定字符串分隔一个字符串,并将分隔后的子字符串存储到数组中的String方法。