首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VBA: 正则表达式(10) -捕获(?:Expression)

文章背景: 最近在看同事写的VBA正则表达式,发现其中用到了捕获(?:Expression)。因此,本文对捕获的用法做了一些研究。...1 捕获2 捕获3 捕获的应用场景 1 捕获 捕获是指在正则表达式中使用括号来匹配和提取一部分文本。这个被括号包裹的部分被称为捕获,可以通过VBA代码访问和处理。...这两个捕获组分别匹配三个数字和两个数字的模式。 代码运行结果: 2 捕获 捕获是指在正则表达式中使用括号来分组,但不会创建一个新的捕获捕获以问号冒号加圆括号的形式表示,例如(?...捕获需要额外的处理来存储和维护捕获的内容,而非捕获则不需要这样的处理。如果性能是一个关键因素,可以考虑使用捕获来减少处理开销。...(3) 避免混淆 在某些情况下,正则表达式中可能存在多个嵌套的捕获,如果你只关心其中的一些,而不想引入额外的捕获,可以使用捕获来避免混淆。

29310
您找到你想要的搜索结果了吗?
是的
没有找到

关于JS的正则表达式0.前言1.捕获2.捕获3.匹配模式彩蛋:

原文来自我的github 0.前言 本文主要介绍了捕获捕获的概念,并举了一些例子,这些都是正则表达式在js中进阶的一些用法。...后面有彩蛋哦 1.捕获 1.1RegExp对象的相关属性 一般用()括住的就是捕获,而且类似于算术中的括号,从左到右,逐层去括号。...即是匹配结果,捕获,匹配位置,准确来说,第一个参数是匹配结果,最后一个参数是匹配位置,中间所有的参数都是捕获。...开头的是非捕获,它不捕获文本 ,也不针对组合计进行各种操作,不将匹配到的字符存储到内存中,从而节省内存。也就是上面所讲的$属性他都不会具有。一般用于只需要检测结果的情况。 (?...:a)捕获一个a /(?:a)1(?:b)/.test('a1b') //true RegExp.$1 //'' 复制代码 var reg = /(?

1.5K20

JS事件,你真的懂吗(捕获,冒泡)?

说到js事件大家肯定都知道,那么今天讲一点大家不知道的(假设大家不知道?)。 所有的js事件都会分为两个阶段捕获和冒泡。...那么问题来了,我们通常看到的事件都是直接触发之后就执行了,那么我们怎么才能看到事件的捕获和冒泡都是怎么进行的呢,这里给大家准备了一个例子 addEventListener() 例子之前首先给大家简单介绍一下...true表示监听事件的捕获阶段,false表示监听事件的冒泡阶段。 返回值 没有返回值 示例: <!...其次是inner捕获阶段 然后是inner冒泡阶段 最后是outer冒泡阶段 由此我们可以看到,事件触发的时候实际上都是有捕获和冒泡阶段的,并且捕获阶段会从最外层的父级元素开始捕获,一直捕获到最后触发事件的那个元素点才会停止...并且事件的触发是先捕获,在冒泡。 阻止事件冒泡 事件的冒泡会让我们实现某些功能的时候产生阻碍,那么我们怎么怎么阻止事件的冒泡呢,这个时候就会用到一个方法。

2.3K20

Java 正则表达式的捕获

捕获组分为: 普通捕获(Expression) 命名捕获(?Expression) 普通捕获 从正则表达式左侧开始,每出现一个左括号"("记做一个分组,分组编号从 1 开始。...命名捕获 每个以左括号开始的捕获,都紧跟着 ?,而后才是正则表达式。 对于时间字符串:2017-04-25,表达式如下: ? 有 4 个命名的捕获,分别是: ?...命名的捕获同样也可以使用编号获取相应值。 ? PS 捕获 在左括号后紧跟 ?:,而后再加上正则表达式,构成捕获 (?:Expression)。...这个正则表达式虽然有四个左括号,理论上有 4 个捕获。但是第一 (?:\d{4}),其实是被忽略的。当使用 matcher.group(4) 时,系统会报错。 ? ?...总结 ▼ 普通捕获使用方便; 命名捕获使用清晰; 捕获目前在项目中还没有用武之地。

1.2K30

JS常见的报错及异常捕获

在开发中,有时,我们花了几个小时写的Js 代码,在游览器调试一看,控制台一堆红,瞬间一万头草泥马奔腾而来。...至此,本文主要记录Js 常见的一些错误类型,以及常见的报错信息,分析其报错原因,并给予处理方法。并且将介绍几种捕获异常的方法。 注:本文使用的谷歌游览器验证,不同的游览器,报错可能会不一样。...TypeError:类型错误,表示值的类型预期类型时发生的错误。...在函数中参数已经出现,函数里使用let重新声明 function fn(arg) { let arg = [] } ---- SyntaxError: Invalid or unexpected token 含义:捕获无效或意外的标记...createXHR('http://192.168.10:8080') 异常调试及捕获 ---- try/catch,Js中处理异常的一种模式,try用于可能会发生错误的代码,catch对错误的处理

5.7K30

【SpringBoot WEB 系列】RestTemplate 之 200 状态码信息捕获

[logo.jpg] 【SpringBoot WEB 系列】RestTemplate 之 200 状态码信息捕获 前面介绍的 RestTemplate 的使用,都是接口正常返回 200 的状态码 case...,当返回 200 状态码时,会直接抛异常,如果我希望能捕获异常,并针对正常获取返回的 message,可以如何处理呢?...异常捕获 1....未捕获场景 当我们直接像之前一样使用 RestTemplate 时,看一下效果如何 try { // 如果返回状态码不是200,则直接抛异常,无法拿到responseBody RestTemplate...异常捕获 更详细原理定位请参考:【WEB 系列】RestTemplate 4xx/5xx 异常信息捕获 为了处理上面的问题,我们可以设置自定义的ResponseErrorHandler来处理 RestTemplate

2.7K30

捕获分组:优化你的正则表达式

此时,我们可以使用捕获分组。 捕获分组的语法是 (?:)。在这个括号内的模式会作为一个整体进行匹配,但是匹配的结果并不会被捕获。例如,正则表达式 a(?...:b)c 在匹配字符串 "abc" 时,仍然会匹配整个 "abc",但是 "b" 就不会被单独捕获。 为什么使用捕获分组? 使用捕获分组的主要优点是,它可以使我们的正则表达式更加高效。...因为捕获分组需要储存匹配的结果,所以它会消耗额外的内存和处理时间。如果我们不需要分组的结果,那么使用捕获分组就可以节省这部分开销。 此外,使用捕获分组也可以避免改变正则表达式中其他捕获分组的编号。...在Go语言中使用捕获分组 Go语言的正则表达式库("regexp"包)支持捕获分组。...捕获分组 (?:.*\n) 用于匹配但不捕获与之匹配的字符串。 总结 捕获分组是一个很有用的工具,它可以让我们的正则表达式更加高效,同时避免改变其他捕获分组的编号。

42010
领券