zoukankan      html  css  js  c++  java
  • 正则1

    正则的理解:

      1:正则的懒惰性:

          每一次exec在捕获的时候,只捕获第一次匹配的内容,不会继续向下捕获,我们把这个

          称为正则的懒惰性,每一次捕获的位置都是从0开始的。

    案列1:

          

    上图所示   结果为45612 而不是 45612 与12345    这就是正则的懒惰性

    解决办法:修饰符g

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

    正则的贪婪性:

    每一次匹配都会按照最长的出现结果,我们把这种功能叫做正则的贪婪性。

     

    如上图所示:他的结果为12345    不是1/2/3/4/5   这就叫做正则的贪婪性

    解决办法:在字符串的量词后边加?

    分组捕获: 正则带() 在数分组的个数时从左到右;

    var  reg=/(a)(b)/相当于大正则里边带了2个小正则

    第一张是a  第二组是b

    分组捕获的作用:

      1:改变优先级; 

      2:分组引用    1   2

      1代表和第一个分组出现一模一样的内容

      2代表和 第二个分组出现一模一样的内容

      reg中的规则是第一个是第一个分组,且是一个单词字符,第二个是分组引用要求与第一个

    分组一模一样,第三个是第二组的但粗字符,第四个是一个分组引用要求与第二组的第一个一模一样

      3:分组捕获:

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

    到;

      

    如上图所示 它不仅捕获到“ab”  还捕获到“a”“b”  

    解除分组捕获的办法:我们可以在分组的前面加?:

      

      

      

        

  • 相关阅读:
    poj 1837 Balance
    poj 3009 Curling 2.0
    vagrant up 无法加载映像目录
    liunx 查看php 安装的扩展
    树莓派 添加超级管理员身份
    Sublime text追踪函数插件:ctags[转载]
    手动安装m4, autoconf, automake, libtool
    nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
    如何将编码转为自己想要的编码 -- gbk utf-8
    laravel 增删修改
  • 原文地址:https://www.cnblogs.com/yang08/p/10154733.html
Copyright © 2011-2022 走看看