网站首页 > 教程分享 正文
在正则表达式里经常会使用到分组模式,如果分组比较多,读写和维护不太方便,因此具名分组就比较适用了。今天学习一下正则表达式的具名捕获组:
具名捕获组
- 它允许你为捕获组指定一个名称,以便在匹配成功后可以通过名称来引用捕获的内容。
- 具名捕获组可以提高正则表达式的可读性和可维护性,特别是在处理复杂的正则表达式时。
- 语法:(?<name>pattern),name便是捕获组的指定的名称
- 示例1 获取捕获组的值
//示例一
const regex = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/;
const match = regex.exec('2020-04-01');
console.log(match.groups.year); // 输出: 2020
console.log(match.groups.month); // 输出: 04
console.log(match.groups.day); // 输出: 01
- 示例2 提取文本
//提取文本内所有日期
let dates = `
aa 2024-01-01 sfdsdf,
dsd 2024-01-02 dfsdf,
dfsd 2024-01-03 sdd,
adfsd 2024-01-04 dd,
aa 2024-01-05 fff,
`;
//gm 全局换行匹配
const regex = /(?<year>\d{4})-(?<month>\d{2})-(?<>\d{2})/gm;
const match = regex.exec(dates);
do {
console.log(`year: ${match.groups.year} ,months:${match.groups.month} ,day:${match.groups.day}`);
} while ((match = regexp.exec(dates)) !== null);
// year: 2024 ,months:01 ,day:01
// year: 2024 ,months:01 ,day:02
// year: 2024 ,months:01 ,day:03
//year: 2024 ,months:01 ,day:04
//year: 2024 ,months:01 ,day:05
结合match方法,通过匹配成功之后返回的对象的groups属性可用很直观的分组信息
- 上一篇: 几条常用的JavaScript正则表达式
- 下一篇: web前端JavaScript笔记四 正则表达式
猜你喜欢
- 2025-04-26 小心别落入正则回溯陷阱
- 2025-04-26 OpenHarmony中使用正则表达式
- 2025-04-26 分享 5 个正则表达式的实际应用场景案例
- 2025-04-26 正则表达式获取body内容
- 2025-04-26 正则表达式简明教程
- 2025-04-26 正则表达式,这篇看完就够了
- 2025-04-26 10分钟快速掌握正则表达式
- 2025-04-26 JS 写正则表达式,判断是否为手机号
- 2025-04-26 手把手写给前端的正则表达式【基础篇】
- 2025-04-26 推荐三款正则可视化工具「JS篇」
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)