javascript分组 学习笔记


	/**反向引用
	var sToMatch = "abbbaabbbaaabbb"
	var re1 = /(.*bbb)/g;
	var re2 = /(.*?bbb)/g;
	re1.test(sToMatch);
	alert(RegExp.$1)
	var aMatch =  sToMatch.match(re2);
   for ( var k = 0; k < aMatch.length; k++)	
   {
		alert(aMatch[k])   
   };*/


   /**去除字符串两边的空白符号,注意分组函数中是懒惰型匹配
   String.prototype.trim = function(){
		var reTrim = /^\s*(.*?)\s+$/;
		return this.replace(reTrim,"$1");
   }
   var abc = "   abc  ";
	*/

	/**前瞻:有时候希望,当某个特定的字符分组出现在另一个字符串之前时候,才去捕获它,就要使用前瞻。
	正向前瞻:/(bed(?=room))/;
	负向前瞻:/(bed(?!room))/;
	var sBed1 = "bedroom";
	var sBed2 = "bedding";
	var reBed = /(bed(?=room))/;
	alert(reBed.test(sBed2));//false
	alert(reBed.test(sBed1));//true
	alert(RegExp.$1);//bed
	**/

	/**
	非捕获分组
	在左括号后面紧接着一个问号和冒号
	(?:);
	不会创建反向引用,在较长的正则表达式中可以降低匹配速度。
	例子为去除HTML标签
	String.prototype.stripHTML = function(){
		var reTag = /<(?:.|\s)*?>/g;
	}
	**/

你可能感兴趣的:(JavaScript,html,正则表达式,prototype)