zoukankan      html  css  js  c++  java
  • 正则的使用及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属性下,

        

  • 相关阅读:
    C语言-define 与do{}while(0)
    Altium Designer 15 --- PCB 3D View
    算法工程师
    VS2015安装失败
    C++11新标准学习
    Sophus VS2010编译不支持?C++11语法的缘故。那有没有不带C++11特性的Sophus版本呢?
    如何学习C++? C++ Primer第三版中文版
    C++智能指针shared_ptr
    C++创建自己的库文件(dll文件创建和编译)
    ARKit对安卓的提示 ARKit与Google Tango
  • 原文地址:https://www.cnblogs.com/shangjun6/p/10142211.html
Copyright © 2011-2022 走看看