在**正则表达式(Regex)**中,捕获组(Capturing Group)指的是:用一对圆括号 () 把正则的一部分“包”起来,这样这部分匹配到的内容就会被单独保存下来,方便后续提取、替换或引用。
(\d{4})-(\d{2})-(\d{2})
用来匹配日期,比如:
2024-01-15
这里有三个捕获组:
20240115const str = "2024-01-15";
const match = str.match(/(\d{4})-(\d{2})-(\d{2})/);
console.log(match[1]); // 2024
console.log(match[2]); // 01
console.log(match[3]); // 15
"2024-01-15".replace(/(\d{4})-(\d{2})-(\d{2})/, "$3/$2/$1")
// 结果:15/01/2024
(\w)\1
匹配“连续两个相同字符”,如 aa、bb
1 开始(第 0 组是整个匹配)((a)(b))
abab如果你只想分组,不想捕获,用:
(?:...)
例如:
(?:\d{4})-(\d{2})
(\d{2}) 是捕获组✅ 好处:性能更好,结构更清晰
(?<year>\d{4})-(?<month>\d{2})
使用:
match.groups.year
match.groups.month
捕获组 = 用
()把正则的一部分包起来,用来“记住”匹配到的内容
如果你愿意,我可以用 某一门语言(JS / Python / Java) 或 具体场景(日志解析、表单校验) 再给你讲一遍。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。