• 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 自身
        
    */

     

  • 相关阅读:
    一个好的时间函数
    Codeforces 785E. Anton and Permutation
    Codeforces 785 D. Anton and School
    Codeforces 510 E. Fox And Dinner
    Codeforces 242 E. XOR on Segment
    Codeforces 629 E. Famil Door and Roads
    Codeforces 600E. Lomsat gelral(Dsu on tree学习)
    Codeforces 438D The Child and Sequence
    Codeforces 729E Subordinates
    【ATcoder】D
  • 原文地址:https://www.cnblogs.com/-Archenemy-/p/12490271.html
Copyright © 2020-2023  润新知