正则表达式-js

正则表达式创建方法

正则表达式是js中一种对象,如一下代码

//1、直接量
var reg=/fsggfdb/
//2、构造方法RegExp()
var reg=new RegExp("gg")

1、正则对象方法

在这里插入图片描述

	var reg=/ab/g;
	var str="abababab";
	reg.exec(str);//["ab"],尽管具有global属性,仍然只返回一个"ab"
	//再继续
	reg.exec(str);//["ab"]
	reg.exec(str);//["ab"]
	reg.exec(str);//["ab"]
	reg.exec(str);//null
	reg.exec(str);//["ab"]
	reg.exec(str);//["ab"]

2、 三个属性i,g,m

i —>(ignoreCase )执行匹配时忽略大小写
g—>(global)执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
m—>(multiline)执行多行匹配

 //属性i:忽略大小写
        // var reg = /a/i
        // var str = "fsgrsA666"
        // var res = reg.test(str)
        // console.log(res); //true

//属性g:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
var reg=/ab/;
var str="ababababab";
str.match(reg);//["ab"],只查找到第一个匹配值便返回
reg=/ab/g;
str.match(reg);//["ab","ab","ab","ab","ab"],全局查找,把所有匹配值均返回

//属性m:执行多行匹配
var reg=/a/g;
var str="abcdea";
str.match(reg);//["a","a"]
reg=/^a/g;//插入符^指的是以字母a为开头
str.match(reg);//["a"]
str="abcde\na";
str.match(reg);//["a"],还没有多行匹配属性
reg=/^a/gm;
str.match(reg);//["a","a"]

3、^a :以a开始

        var reg = /^a/i
        var str = "qabAcdefAg6acbb66"
        var str1 = "aaafedg"
        var re = reg.test(str)
        var re1 = reg.test(str1)
        console.log(re, re1) //false true

4、.js$ :以.js结尾

 //.js$ 以.js结尾
        var reg = /.js$/i
        var str = "qabAcdefAg6ac.jsbb66a.js"
        var str1 = "fgsjgfsgf.html"
        var re = reg.test(str)
        var re1 = reg.test(str1)
        console.log(re, re1) //true false

4、中括号

一个中括号代表一位,中括号里边的内容代表的是这一位可以取值的范围
在这里插入图片描述

①[a-z] [0-9]
        var reg = /[赵钱孙][0-9][abc]/g;
        var str = "a钱9b赵8cd";
        var arr = str.match(reg);
        console.log(arr) //['钱9b', '赵8c']
②(x|y) 在括号里可以加入"|"表示"或"的意思
        var reg = /\.(jpg|png)$/ //以.jpg 或者 .png结尾
        //在括号里可以加入"|"表示"或"的意思
        // \将特殊字符转义成普通字符便于匹配
        var str = "qabAc89d84efAg6acbb66a.js"
        var str1 = "feskufgsg.jpg"
        var re = reg.test(str)
        var re1 = reg.test(str1)
        console.log(re, re1) //false true
③插入符^放到[]里边表示"非"的意思
        var reg = /[^赵钱孙][云鹤][^(a-y)]/g;
        var reg1 = /^[赵钱孙][云鹤][^(a-y)]/g;
        var str = "钱鹤z赵云zd";
        var arr = str.match(reg);
        var arr1 = str.match(reg1)
        console.log(arr, arr1) //null ['钱鹤z']

5、去掉字符串的头尾空格

	   // str.tirm()			 	
		var reg = /(^\s*)|(\s*$)/g
		var str = "       abc       "
		var re = str.replace(reg, "")
		console.log("---" + re + "---") //---abc---

6、用正则表达式判断子串重复次数

       var str = "helloabclo"
        var reg = /l/g
        var re = str.match(reg) //返回null 或者数组
        console.log(re.length);

7、反引用

     var reg1 = /([a-z])([1-9])\1\2/gi//([a-z])([1-9])([a-z])([1-9])
        var str = "gjr3224441fjfjjjjjj3344a1a1"
        console.log(str.match(reg1)); //['a1a1']

8、元字符

在这里插入图片描述

9、量词

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值