zoukankan      html  css  js  c++  java
  • 正则的理解

    1.正则的懒惰性?

    每次在它的方法exec中捕获的时候,只捕获第一次匹配的内容,而不往下捕获,我们把这种情况称为正则的懒惰性

    且每一次捕获的位置都是从索引0开始

    正则的实例对象上有一个lastindex的属性,是正则开始捕获的起始位置

    var reg=/d+/;

    var st="abc123efg456";

    console.log(reg.exec(st))输出123

    如何解决正则的懒惰性呢

    用一个修饰词“g”就可以了

    2.正则的贪婪性?

    每次匹配到的结果都是最长的,把这种情况称为贪婪性。

    var reg=/d+/;

    var st="abc12345"

    console.log(reg.exec(st))  结果是12345

    如何让解决他的贪婪性呢

    在元字符量词后加?

    var reg=/d+?/g

    3.分组捕获  /(   )/;

    分组捕获的作用(1)改变优先级(2)分组引用

    1   2分别为跟第一组和第二组出现同样的内容

    var reg=/(w)1(w)2/;

    var st="sstt"

    console.log(reg.test(st))==true

    分组捕获的前提是正则存在分组,而且是不仅会捕获到大正则,也会捕获到小正则的内容

    var reg=/(a)(b)/

    var st="abcd"

    console.log(reg.exec(st))  结果输出是  ab  a  b

    那么该如何解决这种情况呢 

    在不想让它出现的那个前面加?:

    var reg=/(a)(?:b)/

    var st="abcd"

    console.log(reg.exec(st))    结果输出的是   ab  a 

  • 相关阅读:
    第六周活动进度表
    第二周活动进度表
    第一周活动进度表
    冲刺二阶段-个人总结10
    冲刺二阶段-个人总结09
    冲刺二阶段-个人总结08
    第一次冲刺-站立会议07
    第一次冲刺-站立会议06
    第一次冲刺-站立会议05
    第一次冲刺-站立会议04
  • 原文地址:https://www.cnblogs.com/panghexin/p/10145339.html
Copyright © 2011-2022 走看看