关于JavaScript中正则表达式的零零碎碎。

目录

正则表达式

相关应用

如何创建

常用方法

元字符

限定符

贪婪模式

分组

断言


 

正则表达式

        如何定义:描述字符模式的对象。

相关应用

        1.表单中,对用户输入的信息进行格式的校验。比如,用户名,密码,手机号是否符合规范。

        2.从字符串中获取一部分符合规则的内容。

如何创建

      1.通过new 去创建一个正则对象。

        第一个参数:正则表达式的主体,字符串

        第二个参数:修饰符 /i:忽略大小写 /g全局匹配  

      2.通过字面量的方式创建

        变量 = /正则的主体/修饰符 ;

常用方法

      test()         (常用到)

        格式:正则对象.test(字符串)

        作用:匹配这个字符串中是否有符合正则的内容。

        返回值:布尔值。匹配成功返回true,否则返回false。

      exec()      (了解即可)

        格式:正则对象.exec(字符串)

        作用:匹配字符串中是否有符合正则的内容,将其返回。

        返回值:匹配成功返回一个数组,匹配失败返回null。

 

    字符串的一些方法中也可以使用正则:

      match()

        格式:字符串.match(正则)

        功能:匹配符合正则规则的字符串。

        返回值:匹配成功返回数组,匹配失败返回null

      split()

        格式:字符串.split(字符/正则)

        功能:按照指定的规则分割字符串

        返回:数组,分割成功,返回分割好的数组,分割失败,返回一个只包含自身的数组。

      

      replace()

        格式:字符串.replace(旧字符/正则,新字符))

        功能:按照指定的规则替换字符串

元字符

   元字符:组成正则的基本符号,在正则中有特殊的含义。

    [范围]   匹配范围内的单个字符

    [0-9]   匹配0-9

    [a-z]   匹配小写的26个字母

    [A-Z]  匹配大写的26个字母

    [a-zA-Z]  匹配26个字母,不论大小写。

    [^范围]  匹配任意一个除范围内的字符。 相当于对[范围]的取反

    \w 匹配单个的数字,字母,下划线。基本上等价于 [a-zA-Z0-9_]

    \W 匹配单个的非字母,非数字,非下划线的字符。相当于\w的取反。 注意,取反不是对结果的取反,是对匹配内容的取反。

    \d  匹配单个数字 相当于[0-9]

    \D 匹配单个非数字 相当于[^0-9]

    \s  匹配空白字符(空格,换行)

    \S 匹配非空白字符

     .  匹配任意字符

    $ 匹配行尾 a$:字符串以a结束

    ^ 匹配行首 ^a:字符串以a开头

限定符

    a* a匹配0次或多次 

    a+ a匹配1次或多次

    a? a匹配0次或1次

    a{m,n} a至少匹配m次最多匹配n次

    a{m,}a匹配m次以上

    a{m}a匹配m次

    

    注意:元字符,限定符修饰的只是单个字符! 如果想要修饰一个整体,就将其使用小括号包括起来。

   或运算符     (m|n) 匹配m或者匹配n

贪婪模式

      贪婪模式:当正则去匹配内容时,会尽可能多的去匹配。  

      非贪婪模式:只需要在限定符后面添加一个?,就会变成非贪婪模式。

      + 出现1次或多次

分组

     分组:添加小括号就可以实现分组

    exec返回的是一个数组,第一个元素是整体的一个返回值,从后面的元素是按照小括号的顺序依次返回的。

断言

      1.正向先行断言

      2.反向先行断言

      3.正向后行断言

      4.反向后行断言

      先行和后行的区别:先行是在右边,后行在左边


 

      正向先行断言

        格式:(?=表达式) 表示所在位置右侧必须是表达式的内容,但是不会匹配表达式的内容。

       eg:喜欢(?=你) 只匹配喜欢两个字,但是喜欢右边必须是你,但是又不能匹配你。

      反向先行断言:

      格式:(?!表达式) 表示所在位置右侧不能是表达式的内容,但是不会匹配表达式的内容。

        eg:喜欢(?!你) 只匹配喜欢两个字,但是喜欢右边不能是你

      

      正向后行断言

        格式:(?<=表达式) 表示所在位置左侧必须是表达式的内容,但是不会匹配表达式的内容。

      反向后行断言

        格式:(?<!表达式) 表示所在位置左侧不能是表达式的内容

      

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值