JavaScript正则表达式分组匹配详解
作者:异步漫步时间:2026-10-30 00:40:17浏览:604
本文详解JavaScript中正则表达式的分组语法,包括圆括号定义分组及$1至$9预定义属性获取子串的方法。通过示例解析RegExp.$1等静态属性的引用方式,并深入剖析嵌套分组的编号逻辑与反向引用\1的使用规则,帮助开发者准确掌握复杂正则的匹配机制。
分组语法与属性定义
语法
元字符 (pattern) 用于定义反复匹配的分组。
属性 $1~$9 若存在,用于获取对应分组中匹配到的子串。
\1 或 $1 用于匹配第一个分组中的内容。
\2 或 $2 用于匹配第二个分组中的内容。
...
\9 或 $9 用于匹配第九个分组中的内容。
用法示例
分组匹配示例与RegExp属性
var reg = /(A+)((B|C|D)+)(E+)/gi;//该正则表达式有4个分组
//对应关系
//RegExp.$1 <-> (A+)
//RegExp.$2 <-> ((B|C|D)+)
//RegExp.$3 <-> (B|C|D)
//RegExp.$4 <-> (E+)
上述代码同时展示了 $1~$9 的用法。
$1~$9 是正则表达式预定义的静态属性,通过 RegExp.$1 进行引用。
分组嵌套关系说明
以下代码说明了分组的嵌套关系。
嵌套分组的编号逻辑
//测试环境 Chrome浏览器
var str = "ABCDE";
var reg = /(A+)((B|C|D)+)(E+)/gi;
str.match(reg);//输出:["ABCDE"]
reg.exec(str,'i');//输出:["ABCDE", "A", "BCD", "D", "E"]
RegExp.$1;//输出:"A"
RegExp.$2;//输出:"BCD"
RegExp.$3;//输出:"D"
RegExp.$4;//输出:"E"
由此可清晰看出分组的嵌套关系。
总结而言,当大分组包含小分组时,小分组排在对应大分组之后的分组序号中,依此类推。
以上所述即为本文的全部内容,希望对大家有帮助。
作者最新文章
D3.js 比例尺与坐标轴的配置详解
2026-11-05 16:54:46
JavaScript怎么遍历对象的Symbol键和不可枚举属性
2026-11-05 13:13:39
封装一个健壮的JS字符串判空工具函数
2026-11-05 12:16:14
JavaScript合并数组的三种常用方法:concat、扩展运算符与push
2026-11-05 11:22:29
JavaScript立即执行函数(IIFE)是什么及基本语法
2026-11-05 10:51:19
