VBScript.RegExp 正则表达式excel vba 学习经验
1) 手动引用(前期绑定)
点击VBE编辑器菜单:工具 - 引用,选取:
Microsoft VBScript Regular Expressions 5.5
Dim regex As
New InternetExplorer
2)
代码引用(后期绑定)
Dim regex As Object
Set regex =
CreateObject("VBScript.RegExp")
1) Global 属性
False,如果找到匹配的字符,就停止搜索(默认值)
True ,搜索字符串中全部字符
Sub
r_1()
Dim regex As
Object
Dim x As String
x
= "a1b2c3"
Set regex =
CreateObject("VBScript.RegExp")
With
regex
.Global
= True
'返回"a#b#c#"
' .Global
=
False '返回"a#b2c3"
.Pattern
= "\d" '数字字符匹配
MsgBox
.Replace(x, "#")
End With
End Sub
2) IgnoreCase 属性
如果搜索是区分大小写的,为False(缺省值)
True不分
Sub
r_2()
Dim regex As
Object
Dim x As String
x
= "a1A2"
Set regex =
CreateObject("VBScript.RegExp")
With
regex
.Global
= True
.IgnoreCase
= True '返回"#1#2"
' .IgnoreCase
=
False '返回"ab#2"
.Pattern
= "A" '数字字符匹配
MsgBox
.Replace(x, "#")
End With
End Sub
3) Multiline 属性
返回正则表达式是否具有标志m , 缺省值为False
Sub
r_3()
Dim regex As
Object
Dim x As String
x
= "a1b2" & Chr(13) &
"c3d4"
Set regex =
CreateObject("VBScript.RegExp")
With
regex
.Global
= True
' .MultiLine
=
True
.Pattern
=
"\d+$"
MsgBox
.Replace(x, "#")
End With
End Sub
4) Pattern 属性
一个字符串,用来定义正则表达式。缺省值为空文本。
5) Execute 方法
返回一个
MatchCollection 对象,该对象包含每个成功匹配的 Match 对象。
Sub
r_5()
Dim regex As
Object
Dim matchs As
Object, match As Object
Dim x As String, y As
String
x
= "a1b2c3"
Set regex =
CreateObject("VBScript.RegExp")
With
regex
.Global
= True
.Pattern
= "\d" '匹配数字
Set matchs =
.Execute(x)
For Each match
In
matchs
y
= y &
match
Next
End With
MsgBox
y 'y返回123
End Sub
6) Test 方法
返回一个布尔值,该值指示正则表达式是否与字符串成功匹配。
Sub
r_6()
Dim regex As
Object
Dim x As String, y As
String
Dim i As Integer
x
= "a1b2c3"
Set regex =
CreateObject("VBScript.RegExp")
With
regex
.Global
= True
.Pattern
=
"\d"
For i = 1 To
Len(x)
If .Test(Mid(x, i, 1)) Then y = y & Mid(x, i,
1)
Next
i
End With
MsgBox
y 'y返回123
End Sub
VBScript.RegExp 正则表达式excel vba 学习经验的更多相关文章
- excel VBA一个fuction同时执行多个正则表达式,实现方法
代码: Function zhengze3(ze1 As String, ze2 As String, Rng1 As Range, Rng2 As Range) Set regx1 = Cre ...
- MySQL学习笔记:regexp正则表达式
在MySQL中,模糊搜索的时候主要用两种方式: 1.like2.regexp + 正则表达式 性能优于like 正则表达式描述了一组字符串. 最简单的正则表达式是不含任何特殊字符的正则表达式.例如,正 ...
- Excel VBA 入门基础
Private Sub RegExp_Replace() Dim RegExp As Object Dim SearchRange As Range, Cell As Range '此处定义正则表达式 ...
- excel VBA把一个单元格内容按逗号拆分并依次替换到另一个单元格的括号里面(本题例子,把文本中的括号换成{答案}的格式,并按顺序填空)
方法1:运用excel单元格拆分合并实现 思路:用VBA正则查询左侧括号个数,对右侧单元格逐一按逗号.顿号等符号分列,同时左侧按括号分列(分列只能按括号单边分列),分列完成后按要求合并,本题事例把括号 ...
- 来吧!带你玩转 Excel VBA
来吧!带你玩转 Excel VBA 从错失良机到艰辛的DOS征程,从坎坷购机自学路到转机起程,从爱好到事业,他从一个完全不懂电脑的人到VBA高级应用者,一切全是自学…… 我是罗刚君,来自四川的一个小县 ...
- PHP正则表达式之快速学习法
1.入门简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.我们可以在几乎所有的基于UNIX系统的工具中找到正则表达式的身影,例如,vi编辑器,Perl或PHP脚本语言,以及awk或 ...
- Excel VBA业余爱好者心得及总结
我不是IT专业人士,而是一位医务工作者,当初学习Excel VBA时,是因为读研究生时的课题需要:实验仪器每天产生4个Word文件,每个文件有9个表格,总计近百个数据.为了对这些数据进行统计分析,则需 ...
- excel VBA正则匹配单元格符号,并按符号把单元格拆分行(这里是按第一列分行,分行是从活动单元格的行开始,分行前需要选择所有需要填充内容的列,否则需要后期手动填充)
Sub W() ' MsgBox "行数:" & Selection.Rows.Count Dim rows_count As Integer Dim ro ...
- Excel DNA学习笔记一
由于各种原因,被迫学习Excel DNA这个开源项目的使用方法,最后希望可以在其中,调用xll进行编码. 由此整理一下,这期间使用到的一些资料. 1.下载Excel DNA,目前最新的是0.30版 h ...
随机推荐
- 解决Oracle出现以0开头的小数,开头的0消失的问题
项目中碰到了个问题,本来报表需要显示“0.49%”,结果就是显示成“.49%” 找问题 首先在pl/sql工具里执行sql,发现原始的数据就是“.49%”,那么问题来了,原始sql的问题,跟工具无关了 ...
- 《剑指offer》-判断对称二叉树
题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的.注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的. 思路上还是广度优先搜索(BFS)来做的.BFS是依托于STL的queue作为容 ...
- poj 2485 求最小生成树中 最长的一条边
Sample Input 1 //T 3 //n0 990 692 //邻接矩阵990 0 179692 179 0Sample Output 692 prim # include <iostr ...
- Web前端开发最佳实践(13):前端页面卡顿?可能是DOM操作惹的祸,你需要优化代码
文档对象模型(DOM)是一个独立于特定语言的应用程序接口.在浏览器中,DOM接口是以JavaScript语言实现的,通过JavaScript来操作浏览器页面中的元素,这使得DOM成为了JavaScri ...
- SpringBoot前端给后端传list
前端JS "]; var params = { taskList: taskList }; $.ajax({ type: "PUT", dataType: "j ...
- threeSum问题
三数之和等于0的问题: 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. 注意:答案中 ...
- loj#2015. 「SCOI2016」妖怪 凸函数/三分
题目链接 loj#2015. 「SCOI2016」妖怪 题解 对于每一项展开 的到\(atk+\frac{dnf}{b}a + dnf + \frac{atk}{a} b\) 令$T = \frac{ ...
- 2331: [SCOI2011]地板 插头DP
国际惯例的题面:十分显然的插头DP.由于R*C<=100,所以min(R,C)<=10,然后就可以愉悦地状压啦.我们用三进制状压,0表示没有插头,1表示有一个必须延伸至少一格且拐弯的插头, ...
- [CC-TRIPS]Children Trips
[CC-TRIPS]Children Trips 题目大意: \(n(n\le10^5)\)座城市构成一棵树,且树上的每条边的长度\(l_i\)满足\(1\le l_i\le 2\).\(m(m\le ...
- 在web.xml中设置全局编码
在web.xml中配置 <filter> <filter-name>characterFilter</filter-name> <filter-class&g ...