0
点赞
收藏
分享

微信扫一扫

JS学习19-正则表达式

金牛豆豆 2022-03-11 阅读 133
 
  使用 构造函数 创建一个正则表达式
  var rule = new RegExp("正则表达式","匹配模式");
  var reg = new RegExp("ab","i");


     正则表达式:
        检查一个字符串时候里是否有ab
     匹配模式:
        "i": 不区分大小写
        "g":全局匹配模式
        
   .test("字符串")  检查这个字符串是否符合正则表达式
  console.log(reg.test("vxcvewrAb"));//true
  console.log(reg.test("vxcvewrAsb"));//false
  
  
    使用 字面量 创建一个正则表达式
     var rule = /正则表达式/匹配模式
  
     var rule = /abc/i;  表示a&b&c
     var rule = /a|b|c|d|e/i; 表示或 如果条件过多,书写会麻烦---->利用数组[abc],abc选一
     var rule = /我[A-z]你/;  //表示格式为:我?你
    console.log(rule.test("我S你"));//true
    
    var rule1 = /[^AB]/;  除了 A B AB都符合规则
    console.log(rule1.test("ABSD"))true
    

 


正则表达式的String语法

/* .split("分隔符")
		不指定全局模式,也会全部拆分
		将s1以d拆分数组 
	*/
	var res1 = s1.split("d");
	console.log(res1[0] + "," + res1[1]);
	
	//以s1中的字母为分割符,拆分成数组
	var res2 = s1.split(/[A-z]/);
	console.log(res2);
	
	//检查想要值的索引search(); 
	 // 有则返回第一次出现的索引,无则为-1
	// 开启全局匹配也只会返回一个索引
	var s2 = "nihao abc,nihao amc,nihao apc";
	console.log(s2.search(/a[bmp]c/));
	
	/* 筛选出自己想要的值 match
		默认模式下,找到想要的值其中一个,就不会继续寻找
		开启全局匹配模式才能选择全部
	 */
	console.log(s1.match(/[a-z]/));  //返回了第一个字母
	console.log(s1.match(/[a-z]/ig)); //返回了想要的匹配
	
	
	/* 替换
		.replace(需要去掉的内容,"填进去的内容")
		不开启全局匹配,默认替换第一个
	 */
	console.log(s1.replace(/[A-z]/g,"@"));//1@2@3@4@5@6@7@8@9@10@11

正则表达式 转义字符

    	-{}:只对前面一个内容起作用
		- /b{4}/  只能出现4次b
		- /(ab){4}/  连续出现4次ab  
		- /b{1,3}/  只能 连续出现1-3次b
		- /b{4,}/   至少连续出现4次b
		- /b+/  至少1个b 
		- /ab*c/  有无b都行
		-/ab?c/  只有有1 或 0个b

  //检查以上是否成立,需要b的左右有东西

  
   rul = /ab{3}c/;
   console.log(rul.test("abbbc"));//false
   var rul = /ab?c/;
   console.log(rul.test("abbc"));//false
   rul = /ab{2,4}c/;
   console.log(rul.test("abbbbbc"));//false

--------------------------------------------
   
      -/^A/  检查是否以A开头
      -/B$/  检查是否以B结尾
   /  -/^a&/ a即开头又结尾 只能只有一个a
   var rul2 = /^A/;
   console.log(rul2.test("abc"))//false
   rul2 = /^a$/;
   console.log(rul2.test("aba"))//false
   
--------------------------------------------
   /正则表达式的转义字符 
			- /./  表示任意字符
			- /\./  表示.
			-/\t/ 表示制表符
			-/\bchild\b/  检查单词边界 是否有单独的单词child
	
  var a = /\./;
  console.log(a.test("sadfa.s")); 
举报

相关推荐

0 条评论