美文网首页
JavaScript - 正则表达式(二)

JavaScript - 正则表达式(二)

作者: ElricTang | 来源:发表于2019-10-16 10:54 被阅读0次

正则表达式(一)传送门

四. 捕获组

表达式 描述
(x) 捕获分组(缓存分组内容)
  • 作用:分组捕获的内容可以供表达式使用,或者最后输出
console.log('123'.match(/([0-9])([0-9])([0-9])/));
// [ '123', '1', '2', '3', index: 0, input: '123', groups: undefined ]

一个括号就是一个分组,最后输出了匹配的字符串以及3个分组的内容。

  • 如何获取分组的内容?
  1. 在结果数组里获取
let res = '123'.match(/([0-9])([0-9])([0-9])/);
console.log(res[0]);// 123
console.log(res[1]);// 1
console.log(res[2]);// 2
console.log(res[3]);// 3
  1. RegExp.$n(n !== 0)
let res = '123'.match(/([0-9])([0-9])([0-9])/);
console.log(RegExp.$1);// 1
console.log(RegExp.$2);// 2
console.log(RegExp.$3);// 3
  1. 在表达式内反向引用(表达式内使用分组)
let res = 'aaa'.match(/([a-z])\1\1/);
console.log(res);

在表达式内部使用\number获取捕获分组内容

五. 非捕获组与断言(非捕获组中的(?=y)(?!y)(?<=y)(?<!y)被称为断言)

表达式 描述
(?:x) 匹配但不捕获
x(?=y) 先行断言,即x在y的前面才匹配,不捕获
x(?!y) 先行否定断言,即x不在y的前面才匹配,不捕获
(?<=y)x 后行断言,即x必须以y开头才匹配,不捕获
(?<!y)x 后行否定断言,即x开头不能为y,不捕获

相关文章

  • 原生js的基础方法等二

    JavaScript 正则表达式 正则表达式模式 调试 this JSON 字符串转换为 JavaScript 对...

  • day5-正则表达式学习(基于JavaScript)

    JavaScript正则表达式 什么是正则表达式

  • JS 正则表达式

    语法 常用的方法: javascript中如何声明一个正则表达式对象在JavaScript当中,声明一个正则表达式...

  • 正则

    1 JS之正则表达式15个常用的javaScript正则表达式

  • 正则小记

    创建方式 根据 JavaScript高程 上面介绍,有两种方式创建正则表达式: new RegExp() 其中第二...

  • 正则表达式

    了解正则表达式基本语法 能够使用JavaScript的正则对象 正则表达式简介 什么是正则表达式 正则表达式:用于...

  • 工具以及网页

    正则表达式:https://regex101.com/#javascript

  • (十三)Dart正则表达式及常用的APIs、类、工具

    一、Dart正则表达式 RegExp 类提供了类似 JavaScript 正则表达式同样的功能。 正则表达式可以高...

  • 正则表达式

    JavaScript正则表达式 正则表达式(英语:Regular Expression,在代码中常简写为regex...

  • 8/25

    JavaScript 正则表达式 正则表达式(英语:Regular Expression,在代码中常简写为rege...

网友评论

      本文标题:JavaScript - 正则表达式(二)

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