首页 > 代码库 > 正则表达式笔记3

正则表达式笔记3

敏感词过滤

//| : 或的意思

//replace : 第二个参数:可以是字符串,也可以是一个回调函数

//菲称仁爱礁附近17艘中国船均在菲军监视之下

window.onload = function(){		var aT = document.getElementsByTagName(‘textarea‘);		var oInput = document.getElementById(‘input1‘);		re = /菲称|中国|菲军/g;		oInput.onclick = function(){			// 方法一			// aT[1].value = http://www.mamicode.com/aT[0].value.replace(re,‘*‘);>

  

替换前<br />	<textarea>	</textarea><br />	替换后<br />	<textarea>	</textarea><br />	<input type="button" value="http://www.mamicode.com/确定" id="input1" />

 

匹配子项

//匹配子项 : 小括号 ()  (还有另外一个意思,分组操作)//1+1*2//(1+1)*2//把正则的整体叫做(母亲)//然后把左边第一个小括号里面的正则,叫做这个第一个子项(母亲的第一个孩子)//第二个小括号就是第二个孩子var str = ‘2017-5-25‘;var re = /(\d+)(-)/g;str = str.replace(re,function($0,$1,$2){	//第一个参数:$0(母亲),第二个参数 : $1(第一个孩子)	//,第二个参数 : $1(第二个孩子)		console.log( $1 );		return $1 + ‘.‘;		return $0.substring(0,$0.length-1) + ‘.‘;	});console.log( str );   //2017.5.25var str2 = ‘abc‘;var re = /(a)(b)(c)/;//[abc,a,b,c](当match不加g的时候才可以获取到子项的集合)console.log(str2.match(re));  

  

字符类:

//字符类 : 一组相似的元素   [] 中括号的整体代表其中一个字符		var str = ‘abdc‘;		var re =/a[bde]c/;		console.log(re.test(str));	//false				//排除 : ^ 如果^写在[]里面的话,就代表排除的意思		var str2 = ‘abc‘;		var re = /a[^bdef]c/;		console.log(re.test(str2));	//false		var str3 = ‘abc‘;		var re = /a[a-z0-9A-Z]c/;			console.log( re.test(str3) );	//true

  

转义字符:

//.  :  任意字符		//\. : 真正的点		var str = ‘a.c‘;		var re = /a\.c/;		console.log(re.test(str));	//true		var str2 = ‘abcdef‘;		var re2 = /a.cd/;		console.log(re2.test(str2));	//true		//\b : 独立的部分  匹配单词边界,不匹配任何字符 ( 起始,结束,空格 )		//\B : 非独立的部分		var str3 = ‘onetwo‘;		var str4 = ‘one two‘;		var re3 = /one\b/;		console.log( re3.test(str3) );	//false		console.log( re3.test(str4) );	//true		/*			\b说明:			我要从一堆原始数据中查找55这个数字,包括三种情况:			假设原始数据是: 123512,a55bcd,55abc,abc55,1235bs,asdfc,55,			1.要求:只有55,前后都不能有其他字符,比如a55bcd,55abc,abc55都是不行的			  这种情况下,用\b55\b,\b就相当于一个停止分界线,告诉电脑55的前面和后面都不允许带字符			2.要求:以55开头,后面允许带字符比如55abc,55,但是a55bcd是不允许的			  这种情况下,用\b55,这里只有55前面有停止分界线\b,告诉电脑前面不允许带字符,后面没有停止分界线,后面可以带字符			3.要求:以55结尾,前面允许带字符,后面不允许.比如abc55是允许的,但是a55bcd是不允许的			  这种情况下,用55\b,这里是有55后面有停止分界线,告诉电脑后面不允许带字符,前面没有停止分界线,是允许   带字符的		*/

正则表达式笔记3