正则表达式是为了解决字符串操作中一些比较麻烦的场景,比如字符串提取、字符串替换、字符串验证
创建一个正则表达式
- var reg2=new RegExp(“a”);
- var reg1=/a/;
- 其中//是标记,a表示要匹配的字符
正则表达式匹配
var reg=/a/; //匹配字符串中的a字符
reg.test(“abc”);
正则表达式特殊字符
字符类别
- . 表示除了换行符(\r \n)以外的任意字符
- \d 表示数字
- \D 是\d的取反结果,表示不是数字
- \w 匹配字母、数字、下划线 ,三者满足其一即可
- \W 是\w的取反
- \s 表示一个空白字符(例如:\r \n \t 空格 。。。)
- \S 是\s的取反
- \ 转义字符
字符集合
[]
- var reg=/[1a2b3]/; //匹配一个字符,这个字符必须是:1/a/2/b/3其中一种,如果是就表示满足,如果不是就不满足
- var reg2=/[123][abc]/; //为了匹配连续2个字符,第一个字符必须在1/2/3之内,第二个字符必须在a/b/c之内
[^]
- var reg=/[^123]/; //匹配一个字符,但是这个字符既不是1 并且 不是2 并且 不是3
边界
- ^ 表示字符串最左边
- $ 表示字符串最右边
量词
- 出现0次或多次
- 出现1次或多次(至少一次)
- ? 出现0次或一次
- {3} 出现3次
- {3,} 至少出现3次
- {3,5} 出现3-5次
- | 或者
- () 分组