zoukankan      html  css  js  c++  java
  • JS-Regexp(正则表达式)的反向捕获与在String中的应用

    正则表达式

    反向捕获

    // 反向捕获
    // ( ) 称为一个子表达式,顺序是 从左往右开始计算
    //  1  :表示 获得第一个字表达式所匹配的内容
    //  2 : 表示 获得第二个字表达式所匹配的内容
       
        let regx=/(d)1(d)2(d)3/ig;
        //匹配为112233 aa11ff aabbcc
    
    // 如果有多个括号(())表示有2个子表达式 , 顺序是先看外面,在看里面, 
    // 外面的是第一个子表达值1  里面的()表示第二个子表达式2
    
    //***进行捕获时要看是否结束,如果捕获了结束了的值就占位,
    //如果捕获的还没结束的就会不占位(就是捕获了但不占位)
    
        let regx = /(d1)/ig   
        //1被包裹在他取得的表达式中不占用匹配的模式.
    
        let regx=/((d)21)/ig;  
        //匹配结果为 11 aa --

    正则表达式在String中的应用

    /*
        search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
        
        返回值:stringObject 中第一个与 regexp 相匹配的子串的起始位置。
        
        注释:如果没有找到任何匹配的子串,则返回 -1。
    
        说明: search() 方法不执行全局匹配,它将忽略标志 g。它同时忽略 regexp 的 lastIndex 属性,并且总是从字符串的开始进行检索,这意味着它总是返回 stringObject 的第一个匹配的位置。
    
    */
    
    
    /*
        match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
        
        返回值: 存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。
    
    */
    
    
    /*
        replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
    
        返回: 一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。
    
        第一个参数为 匹配的字符串 , 第二个参数: 替换的字符串或函数
            stringObject.replace(regexp/substr,replacement)
            
    */
    
    
    /*
        split() 方法用于把一个字符串分割成字符串数组。
    
        返回值:一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身
        
    */

     

  • 相关阅读:
    最短路--floyd算法模板
    poj2367 拓扑序
    poj1094 拓扑序
    hdu3231 拓扑序
    hdu1811 并查集+拓扑序
    hdu3342 拓扑序
    hdu2647 拓扑序
    hdu1285 拓扑序
    UVA10305 拓扑序
    $.proxy
  • 原文地址:https://www.cnblogs.com/-Archenemy-/p/12490271.html
Copyright © 2011-2022 走看看