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

VBA:正则表达式(1) - 基础篇

正则表达式,常被用来检验、替换符合某个模式(规则)的字符串,在代码中常缩写为regexp。VBA中并没有直接提供正则表达式的对象,需要借助VBScript的正则对象。...Replace,根据正则表达式全部替换。 Test,测试正则表达式能否匹配到内容,返回Boolean值说明匹配是否成功。 2 示例 待处理的文本如下,提取其中的姓名汉字和电话数字。...Name:张三丰,Phone:13801380000 VBA代码如下: Option Explicit Sub RegExpDemoSyntax() Dim objRegEx As Object...参考资料: [1] VBA之正则表达式(1)-- 基础篇(https://blog.csdn.net/taller_2000/article/details/88088378) [2] vba正则表达式入门...regex functions(https://juejin.cn/s/excel%20vba%20regex%20functions) [6] 简明Excel VBA(四)正则表达式(Regular

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

    VBA:正则表达式(8) -重复字符的分组

    正则表达式中,可以通过分组号来引用: \n:使用分组的编号来引用分组,分组按照正则表达式中出现的顺序编号1、2、3、......示例的正则表达式:\b(\w+)\b\s+\1\b 文本:I am am a boy 匹配到的内容:am am 在正则表达式中,\b 是一个特殊的元字符,表示单词边界。...(2)replace中1、2的用法 1、2表达的是正则表达式中小括号(即分组)中的内容;1是第一个小括号(分组)中的匹配结果,2是第二个小括号(分组)中的匹配结果,以此类推。...示例的正则表达式:(\d+)-(\d+)-(\d+) 文本:123-456-789 替换文本:$3-$1-$2 结果:789-123-456 参考资料: [1] VBA之正则表达式(8)-- 重复字符分组...4] 正则替换replace中$1的用法以及常用正则(https://www.cnblogs.com/leaf930814/p/7825288.html) [5] 正则表达式:断言(环视) [6] 正则表达式中的

    59340

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

    文章背景: 最近在看同事写的VBA正则表达式,发现其中用到了非捕获组(?:Expression)。因此,本文对非捕获组的用法做了一些研究。...1 捕获组2 非捕获组3 非捕获组的应用场景 1 捕获组 捕获是指在正则表达式中使用括号来匹配和提取一部分文本。这个被括号包裹的部分被称为捕获组,可以通过VBA代码访问和处理。...这个正则表达式会匹配以foo开头,后面跟着一个或多个数字的字符串,但不会创建一个新的捕获组。在VBA中,我们无法访问或处理非捕获组。...segmentfault.com/q/1010000010302799) [2] 正则基础之——非捕获组(https://blog.csdn.net/lxcnn/article/details/4464908) [3] vba...捕获 非捕获(https://juejin.cn/s/vba%E6%8D%95%E8%8E%B7%20%E9%9D%9E%E6%8D%95%E8%8E%B7) [4] Open AI

    66710

    再来谈谈VBA的学习问题

    有朋友在问,从零开始学习VBA应如何着手?...一般对于问这个问题的人,我的建议是:慎重考虑是否真有必要学VBA——除非您还是一个年轻且有大量精力和时间的在校学生。...很多通过几十天就能精通VBA的说法其实都有一个前提,就是你本身有一定的编程基础,比如你原来学过其他的编程语言,而只是切换到VBA,那实际上你只需要学点儿VBA的语法就能用起来了,因为你已经具备编程的思维和能力...---- 当然,举某一个例子不足以说明更多问题,Power Query和VBA各有优势。...对于Power Query和VBA,优先学Power Query。 学有余力,对编程非常感兴趣,并且有足够的时间,再考虑学VBA吧。

    2.1K20

    VBA:正则表达式(9) -添加千分位(23)

    上一篇文章(参见文末的参考资料[1])提到,简单合并正则表达式的运行结果并不理想,问题在于小数部分也可能匹配到。 2 继续试错 目前的重点是如何过滤到小数部分的数字,使之不被捕获。...使用如下的正则表达式: ((\.\d+[\w\W]*?)*?\d)(?=(\d{3})+(\D|$)) (1)?...圆周率3.1415926535 珠穆朗玛峰高度8,848.0 文本3:1234576.7898 替换文本:$1, 结果:1,234,576.7,898 可以看出,包含小数的字符串出现在文本末尾时,正则表达式的运行效果还是不太理想...(未完待续) 参考资料: [1] VBA:正则表达式(9) -添加千分位(1/3) [2] 正则测试(https://tool.chinaz.com/regex) [3] VBA之正则表达式(10)--

    37040

    VBA操作VBA——VBA工程对象

    1、什么是VBA操作VBA: 前面的VBA意思是指VBA程序,后面的VBA是指VBA工程对象(代码和组织代码的模块、类等)。 也就是一段运行过程中的VBA程序,可以去操作VBA工程对象。...能被操作的东西显然就是一种对象,首先如果要使用VBA去操作VBA工程对象,先按如下设置: ? 勾选信任对VBA工程对象模型的访问,这时候就可以去使用VBA工程对象了。...2、VBA工程对象: 在F2对象浏览器中查看VBAProject: ? 每一个打开的Excel工作簿文件都有一个VBAProject,不管是有没有代码的。...在使用VBA编辑器的时候,有一个叫做工程资源管理器的窗口: ?...3、输出VBA工程对象名称: 简单使用一下这个VBA工程对象,和其他VBA库对象用法都差不多,要输出打开的这些VBA工程名称,非常简单,只要循环然后输出它的Name属性: Sub TestVBProject

    3.6K20
    领券