javascript基础十一(正则表达式)

/**
 * 正则:操作字符串
 * 正则的写法:
 *
 * 常用方法 
 * 	test:正则匹配字符串,匹配成功返回真,匹配失败返回假	
 * 		RegExp.test(str);
 * 	search:正则去匹配字符串,成功返回匹配成功的位置,匹配失败返回-1
 * 		str.search(RegExp)
 * 	match:正则去匹配字符串,如果匹配成功就返回匹配成功的数组,如果匹配不成功就返回null
 * 		str.match(正则);
 * 	replace:正则去匹配字符串,匹配成功的字符串替换成新的字符串
 * 		str.replace(正则,新的字符串)
 * 		replace:第二个参数可以是字符串,也可以是一个回调函数
 *
 * 转移字符:
 * 		\s 空格
 * 		\S 非空格
 * 		\d 数字
 * 		\D 非数字
 * 		\w 字符(字母,数字,下划线)
 * 		\W 非字符
 * 正则中默认区分大小写,如果不区分大小写的话,在正则的最后加上标识符i
 * 正则默认成功就会结束,不会继续匹配如果想要全部查找就要加表示g(全局匹配)
 * 量词:
 * + : 至少出现一次
 */

var re = /pattern/;
var re = new RegExp();

var str = "dshkhdskds328hkjkj3232hkkh222";
// var reg = new RegExp("ds")

var reg = /ds/g;		//简写
var reg2 = /\d+/g
var reg3 = /d/g;
// var reg = new RegExp("DS","i"); //全写
// alert(reg.test(str));


// alert(str.search(reg));
// alert(str.match(reg2));
// alert(str.replace(reg3,"m"));

// 敏感词过滤

var str2 = "妙味课堂视频教程 - 学习顺序图谱(供参考";
var re = /视频|供/g;
// alert(str2.replace(re,"**"));
/*alert(str2.replace(re,function(str){
	// alert(str);
	// 函数的第一个参数就是;匹配成功的字符
	var result = '';
	for(var i=0;i<str.length;i++){
		result += '*';
	}
	return result;
}))
*/
//匹配子项:() /分组操作
//把正则的整体叫做整体(母亲),然后把小括号里的正则叫做第一个子项,第二个括号就是第二个子项
var exg = '2016-05-13';
var re2 = /(\d+)(-)/g;
exg = exg.replace(re2,function($0,$1,$2){
	// alert($2);
	// $0:正则结果;
	// $1:2016 05;
	// $2:- -;
	return $1 + "/";
})
alert(exg);
<pre name="code" class="javascript">//字符类 []

var str3 = 'aed';
var str4 = 'abcd';
var reg3 = /a[bce]d/;
alert(reg3.test(str3)); //true
alert(reg3.test(str4)); //false

//排除:^ 如果^下载[]里面的话,就代表排出的意思
//范围 [a-z];
var reg4 = /a-z0-9A-Z/;

 //转移字符
 	.任意字符
 	\.
 	\b:独立部分 单词边界
 	\B:非独立部分 非单词边界
 	\1  重复的第一个子项
 	\2  重复的第2个子项
 	\3  重复的第3个子项
 var reg4 = /(a)(b)(c)\2/ //abbc;

 //找出字符串中出现最多的字母并提示出现了多少次
 
 var str5 = "fakdhkavlahlihdshhhdhdhd";
 var arr = str.split('');
 	str5 = arr.sort().join('');

 var value = '';
 var index = 0;
 var reg5 = /(\w)\1+/g;
 str5.replace(reg,function($0,$1){
 	alert($0);	//aaa dddd ...
 	if(index<$0.length){
 		index = $0.length;
 		value = $1;
 	}

 })


 
 

你可能感兴趣的:(javascript基础十一(正则表达式))