欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-22 09:45:02
...
<!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>