(十五)VBA常用基础知识:正则表达式的使用

这篇具有很好参考价值的文章主要介绍了(十五)VBA常用基础知识:正则表达式的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. vba正则表达式的说明
项目 说明
Pattern 在这里写正则表达式,例:[\d]{2,4}
IgnoreCase 大小写区分,默认false:区分;true:不区分
Global true:全体检索;false:最小匹配
Test 类似perl正则前的m,匹配项目
Replace 类似perl正则前的s,替换项目
Execute 类似java的matcher,然后能取出里边的group1,group2,group3;或者perl里匹配的各个括号的值

※正则表达式怎么写,这里不做说明,我是做perl的时候看了那本骆驼书然后顿悟的,以前特别怕写正则,现在还挺喜欢写的,特别是用正则解决了问题后

2.Test的用法

Sub test()
    Dim RE  As String
    Dim patt As String
    Set RE = CreateObject("VBScript.RegExp")
    pattern = "[0-9]{2,4}"
    With RE
        .pattern = patt
        .IgnoreCase = True
        .Global = True
        If .test("word1234aa") Then
            Debug.Print "11111"
        Else
            Debug.Print "22222"
        End If
        If .test("word4aa") Then
            Debug.Print "33333"
        Else
            Debug.Print "44444"
        End If
    End With
    Set RE = Nothing
End Sub

执行结果:
(十五)VBA常用基础知识:正则表达式的使用,VBA,正则表达式,excel,开发语言,windows
原因:没有引正则的包
(十五)VBA常用基础知识:正则表达式的使用,VBA,正则表达式,excel,开发语言,windows
很遗憾,macos vba无法使用正则,因为没有正则的引用
(十五)VBA常用基础知识:正则表达式的使用,VBA,正则表达式,excel,开发语言,windows
但是上边我写的正则匹配应该是没问题的

3.Replace的用法

Sub test()
    Dim RE As String
    Set RE = CreateObject("VBScript.RegExp")
    With RE
        .pattern = "[0-9]{2,4}"
        .IgnoreCase = False
        .Global = True
    End With
    Dim str As String, ret As String
    str = "I love you 123"
    ret = RE.Replace(str, "zy")
    Debug.Print ret
    Set RE = Nothing
    '输出结果:I love you zy
End Sub

4.Execute的用法文章来源地址https://www.toymoban.com/news/detail-726478.html

Sub test()
    Dim RE, patt As String, pmatch
    Set RE = CreateObject("VBScript.RegExp")
    patt = "I love ([\d]+) and ([\d]+)"
    With RE
        .pattern = patt
        .IgnoreCase = True
        .Global = True
         Set pmatch = .Execute("I love 123 and 456")
         If pmatch.Count > 0 Then
            Debug.Print pmatch(0) & "======" & pmatch(1)
         End If
    End With
    Set pmatch = Nothing
    Set RE = Nothing
End Sub

到了这里,关于(十五)VBA常用基础知识:正则表达式的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hive基础知识(十五):Hive中SQL排序方式全解

    Order By:全局排序,只有一个 Reducer 1)使用 ORDER BY 子句排序 ASC(ascend): 升序(默认) DESC(descend): 降序 2)ORDER BY 子句在 SELECT 语句的结尾 3)案例实操 (1)查询员工信息按工资升序排列 (2)查询员工信息按工资降序排列 按照员工薪水的2 倍排序 按照部门和工资升序排

    2024年01月19日
    浏览(41)
  • VBA之正则表达式(43)-- 从网页中提取指定数据

    实例需求:由网页中提取下图中颜色标记部分内容,网页中其他部分与此三行格式相同。 【代码解析】 第6行代码创建正则对象。 第7行代码设置正则匹配模式。 正则表达式 说明 id=[^]+ 匹配以 id= 开头,后面跟一个或者多个除 之外的任意字符 [^]+#[^]+ 匹配以一个或者多个除

    2024年02月07日
    浏览(43)
  • 【STM32】基础知识 第十五课 看门狗 IWDG 深入理解与应用

    STM32 系列单片机具有强大的内置功能, 其中之一就是独立看门口 (IWDG). 看门狗定时器是一种重要的硬件设备, 用于防止系统软件故障. 在许多应用中, 看门狗定时器的使用是至关重要的, 它可以检测和解决软件错误, 提高系统的可靠性. 今天小白将带领大家深入探讨 STM32 独立看门

    2024年02月11日
    浏览(36)
  • 【人工智能】实验三 A*算法求解八/十五数码问题实验与基础知识

    熟悉和掌握启发式搜索的定义、估价函数和算法过程,并利用A*算法求解N数码难题,理解求解流程和搜索顺序。 以8数码问题和15数码问题为例实现A*算法的求解程序(编程语言不限)。 设计两种不同的估价函数。 设置相同的初始状态和目标状态,针对不同的估价函数,求得

    2024年02月03日
    浏览(47)
  • 【23JavaScript 正则表达式】深入解析JavaScript正则表达式:基础概念、常用方法和实例详解,轻松掌握强大的文本模式匹配工具

    正则表达式是一种强大的文本模式匹配工具,用于在字符串中搜索和操作特定的文本模式。在JavaScript中,正则表达式提供了一种灵活的方式来处理字符串操作。 在JavaScript中,可以通过使用字面量表示法或RegExp对象来创建正则表达式。 字面量表示法 RegExp对象 JavaScript中的正则

    2024年02月08日
    浏览(50)
  • 【自学笔记】01Java基础-08Java常用API:05正则表达式与Lambda表达式

    记录Java基础-常用API-正则表达式与Lambda表达式的内容。 正则表达式在线练习网站 正则表达式是一种强大的文本处理工具,它使用特殊的字符和模式来匹配、查找、替换或提取字符串中的特定内容。 在Java中,正则表达式的功能主要通过 java.util.regex 包中的 Pattern 和 Matcher 类实

    2024年01月19日
    浏览(56)
  • VBA提高篇_ 31 VBA调用正则表达式_RegExp.Pattern/Global/Execute(s)/Replace(s,r)

    RegExp对象: 属于外部对象,对应的变量需要声明为Object对象,并使用CreateObject函数创建 用于创建各种外部对象,只要将该对象的完整类名作为参数(字符串形式),即可返回一个该类的对象 例: CreateObject(“word.application”),返回一个微软的word对象,用于打开和修改Word对象 结果存入在M

    2024年02月09日
    浏览(35)
  • Oracle常用基础知识

    SQL语言是一种数据库语言  1、DDL:数据定义语言 create-创建  drop-删除 alter-修改 rename-重命名 truncate-截断 2、DML:数据操作语句 insert-插入 delete-删除 update-更新 select-查询 3、DCL:数据控制语句 grant-授权 revoke-回收权力 commit-提交事务 rollback-回滚事务 注:Oracle命令不区分大小写

    2024年02月12日
    浏览(34)
  • Unity | Shader基础知识(第九集:shader常用单词基础知识速成)

    目录 一、顶点(Vertex)和法线(Normal) 二、UV信息 三、 基础数据种类 1 基础数据种类 2 基础数据数组 3 基础数据数组的赋值 4 对数据数组的调用 四、 基础矩阵 1 基础矩阵种类  2 对矩阵数组的调用 2.1对一个数据的调用  2.2对多个数据的调用  2.3对数据的赋值 五、基础纹理种

    2024年02月01日
    浏览(55)
  • 从零开始学习 Java:简单易懂的入门指南之正则表达式(十五)

    在Java中,我们经常需要验证一些字符串,例如:年龄必须是2位的数字、用户名必须是8位长度而且只能包含大小写字母、数字等。正则表达式就是用来验证各种字符串的规则。它内部描述了一些规则,我们可以验证用户输入的字符串是否匹配这个规则。 先看一个不使用正则表

    2024年02月12日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包