正则表达式
反向捕获
// 反向捕获 // ( ) 称为一个子表达式,顺序是 从左往右开始计算 // 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 自身 */