Javascript中String支持使用正则表达式的四种方法

<!DOCTYPE html>
<html>
  <head>
    <title>search.html</title>
	
    <script type="text/javascript">
    	//String支持使用正则表达式的四种方法
    	//search,它的参数是一个正则表达式,返回第一个与之匹配的子串的起始位置,如果找不到,返回-1
    	var index = 'JavaScript'.search(/script/i);
    	//4
    	console.log(index);
    	//number
    	console.log(typeof index);
    	
    	//search方法不支持全局检索,因为它忽略正则表达式参数中的修饰符g
    	var indexG = 'JavaScript Java'.search(/java/gi);
    	//0
    	console.log(indexG);
    	
    	//如果参数不是RegExp,则会根据参数先创建一个实例
    	var indexNotReg = 'JavaScript'.search('Sc');
    	//4
    	console.log(indexNotReg);
    </script>

  </head>
  
  <body>
    This is my HTML page. <br>
  </body>
</html>
<!DOCTYPE html>
<html>
  <head>
    <title>replace.html</title>
	
	<script type="text/javascript">
		//replace方法用于执行检索和替换操作。其中第一个参数是一个正则表达式,第二个参数是要进行替换的字符串
		//如果正则表达式中没有修饰符g,那么源字符串中与模式匹配的第一个子串将被替换
		var strNotG = 'java javascript'.replace(/java/i, 'Java');
		//Java javascript
		console.log(strNotG);
		//如果正则表达式中设置了修饰符g,那么源字符串中所有与模式匹配的子串都将被替换
		var strG = 'java javascript'.replace(/java/gi, 'Java');
		//Java Javascript
		console.log(strG);
		//如果第一个参数不是正则表达式,replace将直接搜索该字符串,并替换第一个匹配的子串,与search方法不同(如果参数不是RegExp,则会根据参数先创建一个实例)
		var strNotReg = 'java javascrip'.replace('java', 'C++');
		//C++ javascript
		console.log(strNotReg);
	</script>
  </head>
  
  <body>
    This is my HTML page. <br>
  </body>
</html>
<!DOCTYPE html>
<html>
  <head>
    <title>match.html</title>
	
	<script type="text/javascript">
		//match方法只有一个参数,就是正则表达式或通过RegExp函数将其转换为正则表达式
		//返回的是由匹配结果组成的数组
		var arr = '000zhang1quan22zhong3'.match(/\d{2,}/g);
		//['000', '22']
		console.log(arr);
		//object
		console.log(typeof arr);
	</script>
  </head>
  
  <body>
    This is my HTML page. <br>
  </body>
</html>
<!DOCTYPE html>
<html>
  <head>
    <title>split.html</title>
	
	<script type="text/javascript">
		//split方法的参数可以是字符串也可以是正则表达式
		//返回结果为根据参数拆分后的子串组成的数组
		var str = 'zhang,quan,zhong'.split(',');
		//['zhang', 'quan', 'zhong']
		console.log(str);
		//object
		console.log(typeof str);
		
		var strReg = 'zhangAquanBzhong'.split(/[A-Z]/);
		//['zhang', 'quan', 'zhong']
		console.log(strReg);
	</script>
  </head>
  
  <body>
    This is my HTML page. <br>
  </body>
</html>

相关推荐