/*
//有一些符号是可以通过转义字符来实现的,比如:\[,\]
//\s 可以表示一个空格
var pattern=/go\sogle/ig;
var str='go ogle';
alert(pattern.test(str));
var pattern=/google\b/ig; //\b 用来匹配是否到达边界
var str='googled';
alert(pattern.test(str)); //false
var pattern=/google|baidu|com/ig; // |表示或者选项,可以是一个或者多个
var str='google';
alert(pattern.test(str));
//分组也就地将括号里的看做一个字符
var pattern=/(google){4,6}/ig; //可以进行分组
var str='googlegooglegooglegoogle';
alert(pattern.test(str));
var pattern=/8((go)*t)*8/ig; //
var str='8gogot8';
pattern.test(str);
alert(RegExp.$1); //$1,$2可以获取对应分组里的内容,而对于分组的叠加,从内到外等级依次升高
alert(RegExp.$2); //可以用来实现一些文本的交换
var pattern=/((go)*t)/ig; //
var str='8gogot8';
pattern.test(str);
document.write(str.replace(pattern,'<strong>$1</strong>'));
*/
/*
//贪婪
var pattern=/[a-z]* /; //同时注意全局与贪婪惰性的关系
var str='addsff';
alert(str.replace(pattern,'1'));
//惰性
var pattern=/[a-z]*?/; //
var str='addsff';
alert(str.replace(pattern,'1'));
//贪婪
var pattern=/8(.*)8/; //
var str='8google8 8google8 8google8';
document.write(str.replace(pattern,'<strong>$1</strong>'));
//结果:google8 8google8 8google
//关闭贪婪
var pattern=/8(.*?)8/g; //
var str='8google8 8google8 8google8';
document.write(str.replace(pattern,'<strong>$1</strong>'));
//结果:google google google
*/
//利用exec()来实现分组捕获
var pattern=/([a-z]*)\s([0-9]*)/;//捕获性分组
var str='doudou 2015';
alert(pattern.exec(str));
var pattern=/([a-z]*)\s(?:[0-9]*)/;//非捕获性分组 即通过?:来实现不捕获该分组
var str='doudou 2015';
alert(pattern.exec(str));
var pattern=/(c*(b*(a*)))/; //嵌套分组,从外到内依次捕获
var str='cba';
alert(pattern.exec(str));
var pattern=/goo(?=gle)/; //特定捕获 用?=来实现以....结尾的捕获
var str='google';
alert(pattern.exec(str));
注:还有换行捕获
js正则表达式(2)
最新推荐文章于 2023-09-20 15:46:32 发布