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

 

原文地址:https://www.cnblogs.com/-Archenemy-/p/12490271.html