• js 正则and replace讲解


      1.var reg=/./ 与 var reg=/./的区别?

        .代表任意一个字符

        .而后者代表这个字符串中得有一个.

      2.?的使用

        如果单独的一个字符后面带?

        /d?/  代表1个或0个这个字符的出现    (在捕获的阶段)

        如果是量词+后面带? 代表取消贪婪性  (在捕获的阶段)

      3.捕获 (在全局捕获中,exec()多次输出后,他的起始位置不断地向后匹配,如果匹配不到就是null)

        1.普通捕获  exec()    match()(对exec()的包装)

          普通捕获有懒惰性,给正则添加一个修饰符g可以解决;

        match()是将所有捕获的内容放在一个数组中并返回,match()就是对exec()对函数的简单封装

        2.分组捕获:

          分组捕获;还是用到了exec()和match()的方法,只不过正则的结构发生了变化,加()

          分两种情况:(全局,非全局)

          非全局:exec()和match()在非全局下分组捕获相同,分组捕获在捕获的过程中,既捕获大正则的内容,也捕获分组中的内容,并返回;

          全局:exec()和match()在非全局下分组捕获不同,exec()不变,但是match只捕获到大正则里面的内容;

        3.分组捕获的优势:

          1.可以提升优先级;

          2.可以捕获引用;

        捕获引用:  1    2转义字符;

           1代表分组1里面一模一样的内容;

           2代表分组2里面一模一样的内容;

        分组的结果存在正则RegExp的$number属性下,

        

  • 相关阅读:
    浅析如何让 (a === 1 && a === 2 && a === 3) 返回 true
    浅析单点登录的三种实现方式
    浅析瀑布流布局原理及实现方式
    浅析Java中三目运算符可能产生的坑
    【转】IO
    [转]gomonkey学习
    从sha1的计算例子,理解计算机的数据表示?16进制输出?二进制输出??
    [转]Golang第三方包应该如何安装--在线和离线
    【转】goconvey使用
    go import 时 点号 和下划线的区别
  • 原文地址:https://www.cnblogs.com/diwangkaige/p/10152032.html
Copyright © 2020-2023  润新知