美文网首页
正则-分组捕获

正则-分组捕获

作者: 子心_ | 来源:发表于2019-06-14 22:12 被阅读0次
  1. 分组改变x|y的默认优先级
var reg = /^18|19$/;
// 18、19、181、189、119、819、1819......
var reg = /^(18|19)$/;
// 18、19
  1. 分组引用
    \2代表和第二个分组出现一摸一样的内容;\1和第一个分组出现一摸一样的内容;
    这里的“一模一样”:和对应的分组中的内容的值都要一样。
var reg = /^(\w)\1(\w)\2$/;
console.log(reg.test("zzff")) // true
console.log(reg.test("z0f_")) // false
// \w表示数字、字母、下划线中的任意一个字符 相当于[0-9a-zA-Z_]
  1. 分组捕获
正则在捕获的时候,不仅仅把大正则匹配的内容捕获到,而且还可以把小分组匹配的内容捕获到

(?:)在分组中?:的意思是只匹配不捕获

var reg = /^(\d{2})(\d{4})(\d{4})(\d{2})(\d{2})(?:\d{2})(\d)(?:\d|x)$/;
var str = "142726199009181211";
// console.log(reg.exec(str));
// ary = ["142726199009181211", "14", "2126", "1990", "09", "18", "1", index: 0, input: "142726199009181211"]
// ary[0] -> 大正则匹配的内容
// ary[1] -> 第一个分组捕获的内容
// ary[2] -> 第二个分组捕获的内容
// ...
// console.log(str.match(reg)); // 和exec获取的结果是一样的

match和exec的区别:

var reg = /zhufeng(\d+)/g;
var str = "zhufeng1234zhufeng3456zhufeng5678";
// 我们用exec执行三次,每一次不仅仅把大正则匹配的获取到,而且可以获取第一个分组匹配的内容
console.log(reg.exec(str)); // -> ["zhufeng1234","1234"...]
console.log(reg.exec(str)); // -> ["zhufeng3456", "3456"...]
console.log(reg.exec(str)); // -> ["zhufeng5678", "5678"...]
// 而match只能捕获大正则匹配的内容
console.log(str.match(reg)); // -> ["zhufeng1234", "zhufeng3456", "zhufeng5678"]

相关文章

  • 正则:分组

    正则分组作用: 1、改变优先级:2、分组引用 3、分组捕获:正则在捕获的时候,不仅把大正则匹配的内容捕获到,而且还...

  • javascript正则表达式----分组捕获

    正则的分组捕获 简单的分组捕获之前在写身份证号正则(不完整)的时候,提到过分组捕获 分组多次捕获假设有这种需求: ...

  • 正则-分组捕获实例分析

    在正则捕获的时候,我们添加分组,不仅仅可以把大正则匹配的内容捕获,而且还可以把小分组代表的子正则匹配的内容一起捕获...

  • 正则-分组捕获

    分组改变x|y的默认优先级 分组引用\2代表和第二个分组出现一摸一样的内容;\1和第一个分组出现一摸一样的内容;这...

  • JS正则表达式的骚操作

    参考资料 《JS正则表达式的分组匹配》《正则表达式之捕获组/非捕获组介绍》《正则表达式中(?:pattern)、(...

  • 正则捕获-正则捕获的懒惰性,分组捕获

    let str = "hshshs2019sdfaa2020asdw2021"; 实现正则捕获的办法 正则RegE...

  • 3.正则中()分组的作用

    上一篇:正则中需要注意的[]细节 正则中()分组的作用 改变默认的优先级 分组 捕获 分组的引用 改变优先级let...

  • JavaScript - 正则表达式(二)

    正则表达式(一)传送门 四. 捕获组 作用:分组捕获的内容可以供表达式使用,或者最后输出 一个括号就是一个分组,最...

  • day-18网络编程

    1.回顾 1.1.正则符号 a.匹配字符 b.边界检测 c.匹配次数 d.分之、分组 |() - 分组,捕获,重复...

  • 正则表达式

    javascript正则表达式正则表达式30分钟入门教程js的正则表达式的正则前瞻(?=)和非捕获性分组(?:)有...

网友评论

      本文标题:正则-分组捕获

      本文链接:https://www.haomeiwen.com/subject/abymfctx.html