(1)RegExp.$n获取匹配规则的第n个子表达式
var reg=/\{\{(.+)\}\}/;--vue
if(reg.test('{{name}}')){
console.log(RegExp.$1);//name
}
(2)replace:不改变原字符
var str='hello world'; var n=str.search('lo');// n是3 普通 var n1=str.search(/l/g);//n1是2 全局查找l 正则 //replace var str1=str.replace('world','cy');//str1是hello cy var str3=str.replace(/o/g,'q');//正则;g全局 hellq wqrld '{{正则}}'.replace(/\{\{(.+)\}\}/,function(a,b){ console.log(a,b);//{{正则}} 正则 参数1表示匹配成功的字符,参数2代表()里匹配到了: }); 'abcd'.replace(/a(b)(c)/,function (a,b,c) { console.log(a,b,c);//abc b c });
(3)单个字符
[a,b,c]中任意一个,如a,不能是ab;
[^abc]不是abc任意一个;
[a-zA-Z]字母中一个;
[0-9]单个数字;等价于\d;
[^0-9]非单个数字;等价于\D;大写和^都是非的意思;
.单个字符,..两个字符,一个点代表一个字符;
\s一个空格,同理\S表示一个非空格;
\w字母数字下划线;等价于[a-zA-Z0-9_];
(4)数量描述(多个字符)
? 0或一次
* 任意个
+ 除了0个:一次或多次
{n} 正好出现n次
{n,m} 出现n-m次
{n,} 出现n次或n次以上;n必须>=2
(5)边界^开始,$结束,()整体,|或者;
(6)
var reg=/^a(b)*/; if(reg.test('abcd')){ console.log(1,RegExp.$1);//1 'b'$1 代表第一个()同理类推 }else{ console.log('false') }
来源:https://blog.csdn.net/qq_37179373/article/details/100797328