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

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

文章背景: 最近在看同事写的VBA正则表达式,发现其中用到了捕获组(?:Expression)。因此,本文对捕获组的用法做了一些研究。...1 捕获组2 捕获组3 捕获组的应用场景 1 捕获组 捕获是指在正则表达式中使用括号来匹配和提取一部分文本。这个被括号包裹的部分被称为捕获组,可以通过VBA代码访问和处理。...代码运行结果: 2 捕获组 捕获是指在正则表达式中使用括号来分组,但不会创建一个新的捕获组。捕获组以问号冒号加圆括号的形式表示,例如(?:foo)\d+。...代码运行结果: 3 捕获组的应用场景 (1) 不需要保留分组内容 当你需要对正则表达式进行分组,但不需要在后续的代码中访问或引用这些分组的内容时,捕获组是一个好的选择。...在这种情况下,可以使用捕获组来排除日的匹配。 正则表达式:(\d{4})-(\d{2})(?:-\d{2})? 1)在这个例子中,我们使用捕获组 (?:-\d{2})?

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

Linux正则表达式

Linux正则表达式 grep与正则表达式简介 文本处理工具中的三剑客--grep、sed、awk grep,grep是根据模式过滤文本,并将符合模式的行显示出来,grep是一组工具集,包括了grep...awk,Linux上的实现是gawk,awk其实是一个编程语言,它支持判断,循环等过程式语言的基本特性,awk主要特性既不是过滤文本,也不是编辑文本,而是能够将给定的数据以非常美观的格式输出的工具,所以他是一个文本报告生成器...,这些特殊字符不表示字符字面意义,而是表示控制或者通配的功能 正则表达式的类型 正则表达式又分为两类,基本正则表达式(BRE)和扩展正则表达式(ERE) * BRE:grep默认情况下是支持基本正则表达式的...* ERE:egrep是用来支持扩展正则表达式,grep的-E选项也可以用来支持扩展正则表达式 fgrep表示不支持正则表达式。...就可以对grep家族(grep/egrep/fgrep)的命令进行调用** * -E:使用扩展正则表达式,相当于egrep * -F:不使用正则表达式,相当于fgrep * -G:使用基本正则表达式

1.9K60

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

介绍 正则表达式是一种强大的文本处理工具,可以用来匹配,查找,替换文本中的特定模式。然而,对于一些更复杂的任务,我们可能需要使用正则表达式的高级特性之一——捕获分组。 什么是非捕获分组?...此时,我们可以使用捕获分组。 捕获分组的语法是 (?:)。在这个括号内的模式会作为一个整体进行匹配,但是匹配的结果并不会被捕获。例如,正则表达式 a(?...为什么使用捕获分组? 使用捕获分组的主要优点是,它可以使我们的正则表达式更加高效。因为捕获分组需要储存匹配的结果,所以它会消耗额外的内存和处理时间。...如果我们不需要分组的结果,那么使用捕获分组就可以节省这部分开销。 此外,使用捕获分组也可以避免改变正则表达式中其他捕获分组的编号。...在Go语言中使用捕获分组 Go语言的正则表达式库("regexp"包)支持捕获分组。

37310

正则表达式的贪婪和贪婪模式

最近在写程序时,碰到一个场景,需要找到一个字符串中指定的一个片段,而不是所有片段,这就涉及到正则表达式中贪婪和贪婪两种模式。 字面意思上,正则表达式一般趋向于最大长度匹配,就是贪婪模式。...默认情况下,正则用的都是贪婪模式,如果要使用贪婪模式,需要在量词后面直接加上一个问号"?",量词包括如下, (1) {m,n}:m到n个。 (2) *:任意多个。 (3) +:一个到多个。...再上个程序,用贪婪和贪婪模式找到content中的内容, import java.util.regex.Matcher; import java.util.regex.Pattern; public...\""; // 贪婪模式 System.out.println("文本:" + text); System.out.println("贪婪模式:" + rule1); Pattern...while (m1.find()) { System.out.println("匹配结果:" + m1.group(0)); } System.out.println("贪婪模式

2.1K20

linux正则表达式

9.2 什么是正则表达式 约略了解了 Linux 的基本指令 (BASH) 并且熟悉了 vim 之后,相信你对于敲击键盘的打字与指令下 达比较不陌生了吧?...9.3 基础正则表达式 既然正则表达式是处理字符串的一种表示方式,那么对字符排序有影响的语系数据就会对正则表达式的结果有影响! 此外,正则表达式也需要支持工具程序来辅助才行!...因为这个 1 是『大写字符』的意思,因为每一行均有大写字符,例如第一行的 "Open Source" 就有 p,e,n,o.......study /]# ls -l | grep '^l' | wc -l 4 ---- A-Z ↩ t ↩ ---- 版权属于:龙之介大人 本文链接:https://i7dom.cn/159/2019/22/linux-regex.html...您可以自由的转载和修改,但请务必注明文章来源和作者署名并说明文章原创且不可用于商业目的。

1.2K10

Linux系统正则表达式

Linux系统正则表达式的介绍 学习Linux系统的朋友们肯定都会接触到正则表达式,或者开发人员也会遇到这个东东,说起正则表达式,使我想起“会者不难,难者不会”这句话,的确如此,相信很多人刚接触正则表达式...那么今天就来聊一聊正则表达式 何谓正则表达式呢?...网上一堆的名词介绍,大家可以自己查找,民工哥的理解是:首先它是一种文本模式,然后它的作用就处理字符串的一种方法 给定一个正则表达式和另一个字符串,我们可以达到如下的目的 1....给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”) 2. 可以通过正则表达式,从字符串中获取我们想要的特定部分 正则表达式的特点是: 1. 灵活性、逻辑性和功能性非常的强 2.

1.4K30

Linux通配符和正则表达式通配符 区别_linux正则表达式语法

另外,这篇文章只针对Linux下的文本过滤工具的正则表达式进行讨论,其他的一些编程语言,如C++(c regex,c++ regex,boost regex),java,python等都有自己的正则表达式库...linux使用GNU版本的grep。它功能更强,可以通过–G、–E、–F命令行选项来使用egrep和fgrep的功能。 grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。...:匹配一个换行符的字符 如:‘gr.p’匹配gr后接一个任意字符,然后是p。 * :匹配零个或多个先前字符 如:‘*grep’匹配所有一个或多个空格后紧跟grep的行。 ....\W :\w的反置形式,匹配一个或多个单词字符,如点号句号等。 \b :单词锁定符,如: ‘\bgrepb\’只匹配grep。 3....blog.csdn.net/huiguixian/article/details/6284834 3、http://blog.csdn.net/wealoong/article/details/8015576 4、Linux

5K20

linux 正则表达式详解

学习下面基础正则表达式之前请先简单了解一下grep的用法。 基础正则表达式 基础正则表达式语法 RE字符 含义 ^word 待搜寻的字符串(word)在行首!...wget http://linux.vbird.org/linux_basic/0330regularex/regular_express.txt 样例详解 1.查找特定字符串 查找包含the的行 [root...mechanism to develop programs. 21:# I am VBird 这里要注意了,^这个符号在[]里面和外面是完全不一样的,在外面表示定位在行首,起到定位的作用,在里面表示的意思...在linux中每行是以$来结尾的,那么如何匹配空白行呢?...>]' regular_express.txt 强调一下,正则表达式linux的通配符是不一样的,在通配符中*代表零到无限多个字符,比如我使用 [root@localhost tmp]# ls test

1.7K20

Linux编程(阻塞和阻塞IO)

Linux设备驱动中的阻塞和阻塞I/0,简单来说就是对I/O操作的两种不同的方式,驱动程序可以灵活的支持用户空间对设备的这两种访问方式。...阻塞操作:在不能进行设备操作时,并不挂起,它或者放弃,或者不停地查询,直到可以进行操作。...阻塞应用程序通常使用select系统调用查询是否可以对设备进行无阻塞的访问最终会引发设备驱动中 poll 函数执行。...: char buf; fd = open("/dev/ttyS1",O_RDWR|O_NONBLOCK); //O_NONBLOCK 阻塞标识 ..... while(read(fd,&buf,1)...阻塞I/O的操作在应用层通常会用到select()和poll()系统调用查询是否可对设备进行无阻塞访问。select()和poll()系统调用最终会引发设备驱动中的poll()函数被调用。

5.4K20

Linux系统开发: linux正则表达式

Linux正则表达式一般以行为单位处理。 正则表达式应用非常广泛,存在于各种语言中:php perl Python 等。...现在学的是Linux中的正则表达式,最常应用正则表达式的命令是linux三剑客:grep(egrep),sed,awk。...Linux系统开发: 学习linux三剑客(awk、sed、grep)(上) Linux系统开发: 学习linux三剑客(awk、sed、grep)(下) 正则表达式是一个模版,这个模版是由一些普通字符和一些元字符组成...在少数情况下,正则表达式可能失效,多数与字符集有关。 1.2 区分通配符与正则表达式 这里一定要弄清楚正则表达式linux下使用的通配符有本质区别。 正则表达式用来找:【文件】内容,文本,字符串。...不支持 不支持 \D 单个数字字符 不支持 不支持 \s 单个空白字符 不支持 不支持 \S 单个空白字符 不支持 不支持 \r 回车 不支持 不支持 \n 换行符 不支持 不支持 \t 横向制表符

1.3K10

Linux基础之正则表达式

正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。...正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。 给定一个正则表达式和另一个字符串,我们可以达到如下的目的: 1....给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”): 2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。...我们可以使用 grep 命令来测试我们的正则表达式,grep命令使用正则表达式去尝试匹配指定文件的每一行,并将至少有一处匹配表达式的所有行显示出来。...,后面跟一个字母,后面为任意长度任意字符的文件或者目录: 显示 /tmp 目录下以字母开头,后面仅跟一个字母,然后以字母结尾的文件和目录: 显示 /etc 目录下以p开头不以数字结尾的所有文件和目录

1.1K20

Docker、宝塔,Linux一键部署Django应用

热心群友开发的桌面面板程序,简直会成为 Windows 部署 Python Web 应用的神器 然而,用于部署 Django 的服务器,更多的还是 Linux 操作系统的。...而Linux系统的管理,由于欠缺合适的图形操作,一直以来都是命令大神们的游戏场。对于计算机小白来说,如此多的终端命令,终究是难以入手。 Django 在Linux 下的部署同样如此。...Django常规部署步骤 在 Django 项目代码存在于 Linux系统的服务器上之后,我们还需要进入如此的步骤,才能完成 Django 项目的部署。...安装系统依赖库 部分 Linux 版本还是自带的Python2,所以得安装 Python3、PIP3以及各种系统的依赖软件。...所以,有没有其他的方案,即是通过Linux原生进行部署,又很简单方便,还得稳定。 答案是有的。 懒人方案 MrDoc 交流群的热心群友、管理员——亖,基于上述痛点,便编写了一个一键部署的脚本。

1.3K20

Python正则表达式中的贪心模式和贪心模式

分割线======== 正则表达式并不是Python独有的,而是一套独立的语法,很多编程语言都支持。不同语言中使用的正则表达式语法并不完全一样,但大体都是类似的。...之前已经推送过Python中使用正则表达式的一些例子,详见文末的相关阅读。本文重点介绍一下贪心模式和贪心模式的用法和区别。...在默认情况下,正则表达式是按照贪心模式去匹配的,也就是去匹配能够匹配到的尽可能多的内容。例如: ?...可以使用贪心模式。贪心模式是使用问号“?”完成的,在正则表达式中,如果问号前面是普通字符或子模式,表示问号前面的字符或子模式可以出现也可以不出现。...但是如果问号紧跟在+、*和{m,n}这样的内容后面,则表示贪心模式,也就是匹配尽可能少的内容。以上面的问题为例,改为贪心模式,例如: ? 下面的代码进一步演示了贪心模式和贪心模式的区别: ?

1.5K70
领券