正则表达式用的不是特别多,好多知识就总是忘,所以就总结一下。
创建一个正则有两种:
var reg=new RegExp("^a", "ig");
var reg=/^a/ig;
//全局查找不区分大小写的以字母a开头的字符串
正则表达式以/
为限定符,修饰符有i
(不区分大小写),g
(全局匹配),m
(多行匹配)。
一、元字符
元字符 | 含义 |
---|---|
. | 除换行的任意单个字符 |
^ | 开头位置 |
$ | 结尾位置 |
* | 0次以上 |
? | 0次或1次 |
+ | 1次以上 |
| | 或者 |
二、转义字符
转义字符 | 含义 | 转义字符 | 含义 |
---|---|---|---|
\d | 数字 | \D | 非数字 |
\w | 数字字母下划线 | \W | 非(数字字母下划线) |
\s | 空白符。包括空格、制表符、换行符 | \S | 非空白符 |
\b | 单词边界 | \B | 非单词边界 |
\n | 换行符 | \t | 制表符 |
\num | 引用,\1 就是对第一个分组匹配到的字符串,如果没有匹配成字符串’\1’ |
三、范围、次数、分组
(1)表示范围
- []表示包含的范围,
[abc]
表示包含abc中的任意一个 - [^]表示不包含的范围,
[^abc]
表示不包含abc的任意一个 - 在[]中-表示从…到…,
[a-z]
表示包含a-z的任意一个
补充:
\d
等同于[0-9]
,\D
等同于[^0-9]
\w
等同于[0-9a-zA-Z_]
,\W
等同于[^0-9a-zA-Z_]
(2)表示次数
{m}
表示重复m次,/a{2}/
表示重复2次的a{m,}
表示至少重复m次{m,n}
表示重复m-n次,包头包尾
(3)分组:一个()包起来的就是一个分组
var reg=/(\d+)(abc)$/; //匹配以abc为结尾并且前面至少有一个数字的字符串
具体详见 js正则分组
知识点总结,不断更新中…