当前位置: 首页 > news >正文

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

  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.lryc.cn/news/190620.html

相关文章:

  • vue配置@路径
  • Ubuntu 18.04 OpenCV3.4.5 + OpenCV3.4.5 Contrib 编译
  • 【网络基础】IP 子网划分(VLSM)
  • 【OCR】合同上批量贴印章
  • Stable diffusion 用DeOldify给黑白照片、视频上色
  • 在服务器上解压.7z文件
  • 【opencv】windows10下opencv4.8.0-cuda C++版本源码编译教程
  • 软碟通制作启动盘
  • Tomcat和HPPT协议
  • Acwing.4736步行者(模拟)
  • 前端预览、下载二进制文件流(png、pdf)
  • 搞定ESD(三):ESD干扰耦合路径深入分析(一)
  • 广州华锐互动:炼钢工厂VR仿真实训系统
  • 适用于音视频的弱网测试整理
  • 【Spring MVC研究】DispatcherServlet如何处理请求(doDispatcher方法)
  • 解决github加载过慢问题
  • 利用python批量处理nc数据
  • popen() 获取 ping 命令结果解析
  • 【pytorch】深度学习准备:基本配置
  • etcd随笔
  • 0基础学习VR全景平台篇 第107篇:全景图调色和细节处理(上,地拍)
  • Verilog功能模块——同步FIFO
  • Unity ToLua热更框架使用教程(1)
  • 车载相关名词--车载数据中心方案
  • helm使用
  • Python in Visual Studio Code 2023年10月发布
  • Webmin远程命令执行漏洞复现报告
  • webstorm自定义文件模板(Vue + Scss)
  • 楔子-写在之前
  • 第 5 章 数组和广义表(稀疏矩阵的三元组顺序表存储实现)