四、正则表达式捕获之分组捕获 ------ 2019-10-04

一、身份证的分组捕获

let str = "341621199809091718";
let reg = /^(\d{6})(\d{4})(\d{2})(\d{2})\d{2}(\d)(\d|x)$/

console.log(reg.exec(str))
// ["341621199809091718", "341621", "1998", "09", "09", "1", "8",
//index: 0, input: "341621199809091718", groups: undefined]

console.log(str.match(reg))
// ["341621199809091718", "341621", "1998", "09", "09", "1", "8",
// index: 0, input: "341621199809091718", groups: undefined]

// 1、第一项:大正则的匹配的结果;
// 2、其余项:每个小分组单独匹配捕获的结果;
// 3、如果我们由于优先级的问题使用了分组,但是我们又不想分组被捕获的话,可以
// 使用 ?: 来处理;
// 分组的第三个作用:分组引用
let str = "book"; // "good" ""look;
let reg = /^[a-zA-Z][a-zA-Z]\1[a-zA-Z]$/
// 分组引用就是通过 "\数字" 让其代表和对应分组出现一模一样到的内容;
// [a-zA-Z]\1 的意思是就是出现两个一模一样到的字母;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 捕获组 使用小括号指定一个子表达式后,匹配这个子表达式的文本(也就是此分组捕获的内容)可以在表达式或其它程序中作进...
    Cindy小隐阅读 12,783评论 1 7
  • 正则表达式到底是什么东西?字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等...
    狮子挽歌阅读 6,476评论 0 9
  • 分组 分组的引入对于要重复单个字符,非常简单,直接在字符后卖弄加上限定符即可,例如 a+ 表示匹配1个或一个以上的...
    一名程序猿阅读 6,481评论 0 4
  • 网上有很多类似的文章,我为什么还要写呢?是因为我在阅读Vue2.0的代码中发现了/^\s*([^\s"'<>\/=...
    cpu_driver阅读 13,339评论 2 7
  • 注:参考《JavaScript语言精粹》第七章和第八章。 一、正则表达式的概念,作用 1.概念:正则表达式是一门简...
    yaya520阅读 4,216评论 0 1