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

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

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

2.Test的用法

Sub test()Dim RE  As StringDim patt As StringSet RE = CreateObject("VBScript.RegExp")pattern = "[0-9]{2,4}"With RE.pattern = patt.IgnoreCase = True.Global = TrueIf .test("word1234aa") ThenDebug.Print "11111"ElseDebug.Print "22222"End IfIf .test("word4aa") ThenDebug.Print "33333"ElseDebug.Print "44444"End IfEnd WithSet RE = Nothing
End Sub

执行结果:
在这里插入图片描述
原因:没有引正则的包
在这里插入图片描述
很遗憾,macos vba无法使用正则,因为没有正则的引用
在这里插入图片描述
但是上边我写的正则匹配应该是没问题的

3.Replace的用法

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

4.Execute的用法

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

http://www.ppmy.cn/news/1145619.html

相关文章

设计模式 - 行为型考点模式:责任链模式(概述 | 案例实现 | 优缺点 | 使用场景)

目录 一、行为型模式 1.1、责任链模式 1.1.1、概述 1.1.2、案例实现 1.1.3、优缺点 1.1.4、使用场景 一、行为型模式 1.1、责任链模式 1.1.1、概述 为了避免请求发送者和多个请求处理者耦合在一起,就将所有请求处理者通过前一个对象记住下一个对象的引用的方…

[NISACTF 2022]babyserialize - 反序列化(waf绕过)【*】

[NISACTF 2022]babyserialize 一、解题过程二、思考总结&#xff08;一&#xff09;、关于题目的小细节&#xff08;二&#xff09;、关于弱类型比较技巧 一、解题过程 题目代码&#xff1a; <?php include "waf.php"; class NISA{public $fun"show_me_fl…

NodeJs版本过高无法启动Vue项目报错解决方法

在开发vue项目时&#xff0c;我们通常使用nodejs作为项目的运行环境。但是有时候&#xff0c;由于nodejs版本过高&#xff0c;可能会导致vue项目启动报错。本文将介绍如何解决nodejs版本过高导致的vue项目启动报错问题。 首先&#xff0c;我们需要确定nodejs的版本号。可以在命…

Git相关知识(1)

目录 1.初识Git 1.基础知识 2.centos中下载 2.基本操作 1.创建本地仓库 2.配置本地仓库 3.版本库、工作区、暂存区 4.添加文件 5.add和commit对git文件的作用 6.修改文件 7.版本回退 8.撤销修改 9.删除文件 3.分支操作 1.HEAD与分支 2.创建分支 3.删除分支 …

2023年山东省安全员C证证考试题库及山东省安全员C证试题解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年山东省安全员C证证考试题库及山东省安全员C证试题解析是安全生产模拟考试一点通结合&#xff08;安监局&#xff09;特种作业人员操作证考试大纲和&#xff08;质检局&#xff09;特种设备作业人员上岗证考试大…

PL2303驱动程序不支持WINDOWS 11及后续版本

到网上下载PL2303的驱动程序, 双击安装这个驱动程序&#xff0c;安装完成后双击这个端口&#xff0c; 这个端口的驱动程序是我们刚才安装的&#xff0c;选中 点击下一步&#xff0c;问题解决。如下图已经没有之前的提示了

并发、并行、同步、异步、阻塞、非阻塞

一、多核、多cpu &#xff08;一&#xff09;多核 Multicore 核是CPU最重要的部分。负责运算。核包括控制单元、运算单元、寄存器等单元。 多核就是指单个CPU中有多个核。 &#xff08;二&#xff09;多cpu Multiprocessor 多cpu就是一个系统拥有多个CPU。每个CPU可能有单个核…

wireshark抓包分析HTTP协议,HTTP协议执行流程,

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 使用WireShark工具抓取「HTTP协议」的数据包&#…

手写模拟SpringBoot核心流程

通过手写模拟实现一个Spring Boot&#xff0c;让大家能以非常简单的方式就能知道Spring Boot大概是如何工作的。 依赖 建一个工程&#xff0c;两个Module: 1.springboot模块&#xff0c;表示springboot框架的源码实现 2.user包&#xff0c;表示用户业务系统&#xff0c;用来写…

我的编程初学者之旅:那些愚蠢的代码

我的编程初学者之旅&#xff1a;那些愚蠢的代码 在编程的早期阶段&#xff0c;我犯了许多愚蠢的错误&#xff0c;这些错误让我深感尴尬&#xff0c;但也让我学到了很多。我想分享一些我曾经写过的愚蠢代码&#xff0c;希望它们能帮助其他初学者避免类似的错误。 没有正确理解…

MySQL 面试知识脑图 初高级知识点

脑图下载地址&#xff1a;https://mm.edrawsoft.cn/mobile-share/index.html?uuid18b10870122586-src&share_type1 sql_mode 基本语法及校验规则 ONLY_FULL_GROUP_BY 对于GROUP BY聚合操作&#xff0c;如果在SELECT中的列&#xff0c;没有在GROUP BY中出现&#xff…

Linux防火墙之--SNAT和DNAT

1.SNAT是什么 SNAT又称源地址转换。源地址转换是内网地址向外访问时&#xff0c;发起访问的内网ip地址转换为指定的ip地址&#xff08;可指定具体的服务以及相应的端口或端口范围&#xff09;&#xff0c;这可以使内网中使用保留ip地址的主机访问外部网络&#xff0c;即内网的多…

设置Mysql数据库开启远程连接

1、在服务器端开启远程访问 进入mysql数据库&#xff0c;然后输入下面两个命令&#xff1a; grant all privileges on *.* to root% identified by password; flush privileges;第一个*是数据库&#xff0c;可以改成允许访问的数据库名称 第二个* 是数据库的表名称&#xff…

【CCNP】第七章 动态路由协议-BGP

第一节 BGP的基本概念 BGP&#xff08;Border Gateway Protocol&#xff09;&#xff0c;边界网关协议 是运行在网络和网络之间的协议&#xff0c;是一款EGP&#xff08;外部网关协议&#xff09; BGP基于TCP协议工作&#xff0c;目的端口号179。源端口随机&#xff0c;由路由…

CPU GPU TPU NPU 的一些概念 和 使用

1. 硬件和驱动&#xff1a; 想要使用硬件&#xff0c;需要驱动。 不同硬件的驱动程序不同&#xff1a;对于GPU来说&#xff0c;有很多厂商都提供GPU硬件&#xff0c;如 英伟达&#xff0c;AMD等&#xff0c;不同厂商的硬件产品对应的驱动不同。对于英伟达的GPU硬件&#xff0…

linux centos出现No space left on device解决方案

问题是因为系统磁盘空间不足 解决方法: 找到那个磁盘不足问题 df -lh 发现/dev/mapper/cl-root磁盘已用50G,有如下 解决方案&#xff1a; 1、如果是虚拟机可以通过分配空间使其空间增加 2、将其他不常用磁盘空间分配给cl-root如&#xff08; /dev/mapper/cl-home &#…

Ant Design of React 创建项目及运行环境

Ant Design of React 学习笔记&#xff08;1&#xff09; 创建项目及运行环境 本文使用 create-react-app 创建一个 TypeScript 项目&#xff0c;并引入 antd。 1.命令行cd到对应的目录&#xff0c;这里是npm下回车运行&#xff0c;其他如pnpm yarn参考官网 npx create-reac…

计算机网络 面试题

PART1 1.TCP和UDP的区别是什么&#xff1f; 2.TCP报文首部格式是什么&#xff1f; 3.TCP三次握手的过程 4.为什么TCP要三次握手&#xff1f; 5.TCP三次握手的数据报可以携带数据吗&#xff1f; 6.半连接队列是什么&#xff1f; 7.SYN 洪泛攻击是什么&#xff1f; 8.TCP…

NNDL:作业3

在Softmax回归的风险函数(公式(3.39))中如果加上正则化项会有什么影响? (1) 在 Softmax 回归的风险函数中加入正则化项会对模型的训练产生影响。正则化项的作用是对模型的复杂度进行惩罚&#xff0c;防止过拟合的发生。 (2) 原书公式为&#xff1a; 在加入正则化后损失函数…

Maven 项目模板

目录 什么是 archetype&#xff1f; 使用项目模板 Maven 将询问原型的版本 创建的项目 创建 pom.xml App.java AppTest.java 阿里云工具 Maven 使用 archetype(原型) 来创建自定义的项目结构&#xff0c;形成 Maven 项目模板。 在前面章节我们学到 Maven 使用下面的命…
最新文章