您的位置:首页 > Web前端 > JavaScript

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

2016-05-13 15:16 489 查看
/**
* 正则:操作字符串
* 正则的写法:
*
* 常用方法
* 	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;
}

})



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: