网站首页 > 开源技术 正文
正则表达式的基本概念及用途了解之后,我们就来学习下具体的语法,先以一个简单的例子来讲解。
基础语法:
比如,A1单元格中有一串字符:aabbccddaabbcc,我们要把其中的a找到,然后替换成o。
代码如下:
Sub test()
Dim regx As Object, t$, k, s, n
t = "aabbccddaabbcc"
Set regx = CreateObject("vbscript.regexp")'引用正则表达式
regx.Global = True '查找范围,true为全部查找,false只查找第一个,默认是false。
regx.Pattern = "a" '引号里书写正则表达式,这里要查找a,就直接写个a
Set k = regx.Execute(t) 'Execute方法的结果为一个对象,返回匹配成功的结果。
For Each s In k '通过循环K可以得到该对象中的每个元素。
MsgBox s
Next
n = regx.Replace(t, "o") '将匹配成功的结果做替换
MsgBox n
End Sub
上面的代码后面都有注释,首先要引用正则表达式,前期绑定也可以,直接创建也可以,然后要对regexp的两个属性做出指定。
Global属性,指查找范围,true为全部查找,false只查找第一个,如果上面案例中其属性改为false,那么只要该字符串中查找第一个a。
Pattern属性,指的是正则表达式。
下面讲下正则表达式的两个方法:
Execute方法,返回匹配成功的结果,是一个对象,通过for each 可以循环其中的值。
Replace方法,将匹配的结果做替换,regx.Replace(t, "o"),t为原字符串,第二个参数为要替换为的结果。
普通字符的替换:
了解了基础的语法之后,我们来看下如何用正则对普通的字符做替换。
如上例中,把A列部门中的门字去掉。
思路:
对A列部门循环,循环出来的值用正则表达式匹配门字,并把匹配的结果替换成空。
代码如下:
Sub test1()
Dim regx As Object, rng1 As Range
Set regx = CreateObject("vbscript.regexp")
With regx
.Global = True
.Pattern = "门"
End With
For Each rng1 In Range("a2:a11")
rng1(1, 2).Value = regx.Replace(rng1.Value, "")
Next
End Sub
这里注意regexp的两个属性可以用with语法来书写,这样显得简洁明了。当然这节课我们只是对正则表达的基础语法做了个了解,正则表达是真正的魅力在Pattern = "……",引号中的表达式,后面的课程中我们会体会到他的强大之处。
转自:米宏Office
- 上一篇: 零基础单片机学习笔记:LED呼吸灯程序详解
- 下一篇: Excea VBA 正则表达式拆分字符串案例
猜你喜欢
- 2024-12-20 从.NET9到Rust rust http客户端
- 2024-12-20 电脑上提示xlive.dll出现错误怎么办?三种方法教你快速解决!
- 2024-12-20 一文读懂线性回归、岭回归和Lasso回归
- 2024-12-20 重要通知!张店区公办中小学7月3日开始网上预报名
- 2024-12-20 神经网络与传统统计方法的简单对比
- 2024-12-20 因果推断的效力分析(Power Analysis)及stata代码
- 2024-12-20 如何用OpenCV进行手势识别--基于米尔全志T527开发板
- 2024-12-20 每次打开office2007都要配置怎么办?
- 2024-12-20 抢鲜评测:肌龄驻颜活肤弹力眼霜 肌养晶眼霜凝露怎么样
- 2024-12-20 利用分组法三段式拆分中英文混杂字符串
你 发表评论:
欢迎- 05-16东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 05-16这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 05-16湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- 05-16Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- 05-16G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- 05-16DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 05-16上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- 05-16WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 最近发表
-
- 东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 湖人自媒体调查:89%球迷希望DFS回归 79%希望詹姆斯回归
- 一觉醒来湖人苦盼的纯3D终于到位 DFS能带给紫金军多少帮助
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)