[JavaScipt] JS正则表达式

前言

正则表达式用于定义一些字符串的规则,计算机可以根据正则表达式来检查一个字符串是否敷个规则,也可以将字符串中符合规则的内容提取出来

创建正则表达式

方法一:

通过“new RegExp(“正则表达式”,“匹配模式”)创建一个RegExp对象
其中匹配模式为可选项,有三个取值g:全局匹配;i:不区分大小写;m:多行匹配

	var reg = new RegExp("正则","匹配模式");

方法二:使用字面量创建正则表达式

/*语法*/
var reg = /正则表达式/匹配模式

调用RegExp对象中的方法

RegExp对象给我们提供了三种方法,test()、exec()和compile()

test()

检索字符串中指定的值。返回 true 或 false。

        var reg = new RegExp("a","i");//在字符串中不区分大小写找a
        alert(reg.test("abc"));//true
        alert(reg.test("bc"));//false

一些常用的正则语法:
| 或
[] 或
[^ ] 除了
[a-z] 小写字母
[A-Z] 大写字母
[A-z] 任意字母
[0-9] 任意数字

var reg = /a|b/				//找a或b
var reg = /[ab]/			//找a或b
var reg = /[^ab]/			//除了a和b有其他字符则返回true
var reg = /[a-z]/			//有任意小写字母就返回true
var reg = /[A-Z]/
var reg = /[A-z]/			//有任意字母就返回true
var reg = /[0-9]/			//有任意字母
var reg = /a{3}/			//有aaa

量词:通过量词可以设置一个内容出现的次数
量词只对它前面的一个内容起作用,可以使用()圈出一个整体

    {n} 	    	正好出现n次
    {m,n}	   		出现m-n次
    {m,} 			出现m次以上
    + 				至少一个,相当于{1,}
	*				0个或多个,相当于{0,}
	? 				0个或1个,相当于{0,1}

检查一个字符串的开头和结尾

   ^			表示开头   eg:/^a/   匹配开头的a,注意区分/[^a]/
   $			表示结尾   eg:  /a$/

一个小坑:
现在假如我需要在字符串中查找 \ 字符,此时需要用转义字符。

    var reg = /\\/
    console.log(reg.test("\\"));			//注意:test参数是字符串也需要转义,所以只有一个\,下面的代码进行测试
    var str = "\\"
    console.log("str = "+str);				

在这里插入图片描述
接下来我们注意看使用构造函数来创建正则表达式

        var reg = new RegExp("\\");		//会在此处报错,原因还是一样,构造函数中传的事字符串,用于转义的\也需要转义,所以正确写法是 var reg = new RegExp("\\\\");
        console.log(reg.test("\\"));

exec()

检索字符串中指定的值。匹配成功返回一个数组,匹配失败返回null。

compile()

compile() 方法用于改变 RegExp。
compile() 既可以改变检索模式,也可以添加或删除第二个参数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值