美文网首页
正则:分组

正则:分组

作者: gaoqizhuhui | 来源:发表于2017-07-29 10:37 被阅读0次

正则分组作用:

1、改变优先级:
2、分组引用

var reg= /^(\w)\1(\w)\2$/;  //-->\2代表和第二个分组出现一模一样(值都要一样)的内容;\1代表和第一个分组出现一模一样的内容
console.log(reg.test("hhaa"));   //--->true
console.log(reg.test("h1a_"));  //---->false

3、分组捕获:
正则在捕获的时候,不仅把大正则匹配的内容捕获到,而且还可以把小分组匹配的内容捕获到。eg:身份证号码正则捕获

var reg=/^(\d{2})(\d{4})(\d{4})(\d{2})(\d{2})(\d{2})(\d)(\d|X)$/;
var str="123456199210261521";
console.log(reg.exec(str));
//ary=["123456199210261521","12","3456","1992","10","26","15","2","1",index:0,input:"123456199210261521"] 
//ary[0]-->大正则匹配内容
//ary[1]--->第一个分组捕获的内容。。。

console.log(str.match(reg));  //--->和exec获取的结果是一样的

可以只捕获到自己想要的内容,不需要全都捕获。(?:)--->在分组中?:的意思是只匹配不捕获
var reg=/^(\d{2})(\d{4})(\d{4})(\d{2})(\d{2})(?:\d{2})(\d)(?:\d|X)$/;

match与exec捕获区别:

var reg=/haha(\d+)/g;
var str="haha1234haha3456haha5678";
console.log(reg.exec(str));  //--->["haha1234","1234"...]
console.log(reg.exec(str));  //--->["haha3456","3456"...]
console.log(reg.exec(str));  //--->["haha5678","5678"...]

console.log(str.match(reg));  //--->["haha1234","haha3456","haha5678"]

用exec执行三次,每一次不仅把大正则匹配的内容获取到,而且还可以获取第一个分组匹配的内容。

而match只能捕获到大正则匹配的内容

相关文章

  • eric6的正则技巧

    正则技巧之分组正则技巧之分组

  • 正则:分组

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

  • 正则表达式中常用的方法

    以下讨论建立在正则中没有分组和子项的情况,在正则中有分组和子项时会有些许不同,具体请移步正则表达式中的分组与子项 ...

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

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

  • Python Re Group

    python group() 正则表达式中,group()用来提出分组截获的字符串,()用来分组 究其因 正则表达...

  • 2019-05-07python学习记录-搜文本

    正则表达式 添加括号可以在正则表达式中加分组groups() 复数可以一次获得所有分组 | 用管道匹配多个分组? ...

  • 正则表达式进阶

    正则验证工具 regexper.com 1. 正则分组 通过分组$1,$2...取得()里面的匹配的内容 2. 修...

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

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

  • Django的路由系统

    基本格式 分组命名匹配 在Python的正则表达式中,分组命名正则表达式组的语法是(?Ppattern...

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

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

网友评论

      本文标题:正则:分组

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