正则表达式:又称为:规则表达式 英语;Regluar Expression 简写:regex,regexp或者RE
正则表达式:不是字符串,是字符串的匹配模式(规则)
需要用反斜杠进行转移
正则表达式的创建:
1.字面量创建:由两个斜杠/包裹
var reg = /a/; 匹配指定字符串中的"a"字符
2.通过构造函数RegExp创建正则对象
参数有二:1.正则表达式的内容,需要一个字符串,2.正则匹配规则的修饰符,需要一个字符串
var reg = new RegExp("a");
通过两种方法创建的正则是一样的,方法2可以拼接变量,方法一不行
i:正则匹配忽略大小写
g:正则全局匹配
m:正则进行多行搜索匹配,会影响^$的结果
常用方法:
1.正则对象的方法:test(),用于校验指定字符串是否符合正则规定的匹配规则,如果符合返回true,如果不符合false
当正则为全局匹配时,那么Test()就会存在匹配的锚点
正则.test(指定字符串);
2.match();用于匹配字符串中符合匹配规则的字符或字符串,如果有,返回符合规则字符串的数组,如果没有返回Null
指定字符串.match(正则);
3.字符串的方法:replace(),将指定的字符进行替换,此方法不会对原来的字符串产生影响,会将替换后的结果返回
var reg = /l/g;
console.log(str.replace(reg,"a"));
4.字符串的方法:split().可以填写正则作为参数
元字符:在正则表达式中已经定义好作用和意义的特殊字符
如果要在正则中匹配元字符,需要使用\对元字符进行转义, . ^ < > $ [ ] { }
正对于带有\的元字符,如果需要匹配,正则需要转义,匹配的字符串中需要进行转义
.;可以匹配除了\n以外的所有字符
\d:可以匹配数字
\D:匹配非数字
\w:匹配数字,字母,下划线
\W:匹配非数组,非字母,非下划线
\s:匹配空格,tab键,\n,\f
\S匹配非空格,tab键,\n,\f
\u4e00-u9fa5匹配所有汉字
();表示组匹配,会将()包裹的字符作为一个整体进行匹配,并且默认情况下会将匹配的结果进行捕获,暂存
于RegExp对象中
console.log(/h(e)(l)(l)/.test(str));//true
console.log(RegExp.$1); e
console.log(RegExp.$2); l
console.log(RegExp.$3); l
console.log(RegExp.$4); 输出为空
[];表示匹配的区间,或者多个可选项:当在[]出现连续区间的字符时,可以将首尾字符通过"-"连字符表示一段连续区间
var reg = /[1234567890]/; == var reg =/[\d]/; == var reg = /[0-9]/;
在[]中出现^脱字符(只能出现在中括号的开头),表示取非
{}通常从表示指定字符出现的次数
{11}表示必须连续出11次
{1,11}表示至少出现1次,至多出现11次
{1,}表示至少出现一次,可以连续出现无限次
量词:表示指定字符串出现的次数
+:至少出现一次
*:出现0次或者多次
?:出现0次或1次