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 ...
随机推荐
- Ext.js入门:TabPanel组件(八)
一:TabPanel组件简介 二:简单代码示例 三:使用iframe作为tab的标签页内容 四:动态添加tabpanel的标签页 五:为tabpanel标签页添加右键菜单 方式一: <html ...
- 开始写博客,学习Linq(3)
为什么需要Linq?(摘自原文) 读者会发现LINQ着眼于解决编程语言和数据库之间广发存在的不统一问题. 1.常见的问题,使用.NET Framework Class Library(FCL)提供了A ...
- mysql undo 和redo 被误删除的恢复操作(一致性)
今天在群里看到有人说不熟悉innodb把ibdata(数据文件)和ib_logfile(事务日志)文件误删除了.不知道怎么解决.当时我也不知道怎么办.后来查阅相关资料.终找到解决方法.其实恢复也挺简单 ...
- python全栈开发day38-css三种引入方式、基础选择器、高级选择器、补充选择器
一.昨日内容回顾 div:分割整个网站,很多块 (1)排版标签 (2)块级标签 独占一行 可以设置高和宽,如果不设置宽高,默认是父盒子的宽 span: (1) 小区域 (2)文本标签 (3)在一行内显 ...
- Frosh Week HDU3743(逆序数)
离散化加 求逆序数: 求逆序数的方法 一个是归并排序 一个是树状数组 #include<bits/stdc++.h> using namespace std; int n; struct ...
- Angular 个人深究(四)【生命周期钩子】
Angular 个人深究(四)[生命周期钩子] 定义: 每个组件都有一个被 Angular 管理的生命周期. Angular 创建它,渲染它,创建并渲染它的子组件,在它被绑定的属性发生变化时检查它,并 ...
- idea springboot热部署无效问题
Intellij IDEA 使用Spring-boot-devTools无效解决办法 springboot项目中遇到的bug <dependencies> <!--spring bo ...
- u3d 楼梯,圆环,椭圆,直线运动。世界坐标。点击。U3d stair, ring, ellipse, linear motion.World coordinates.Click .
u3d 楼梯,圆环,椭圆,直线运动.世界坐标.点击. U3d stair, ring, ellipse, linear motion.World coordinates.Click . 作者:韩梦飞沙 ...
- Educational Codeforces Round 47 (Div 2) (A~G)
目录 Codeforces 1009 A.Game Shopping B.Minimum Ternary String C.Annoying Present D.Relatively Prime Gr ...
- Python中的正则表达式探秘1
正则表达式中的特殊字符: $ 匹配输入字符串的结尾位置.如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n' 或 '\r'.要匹配 $ 字符本身,请使用 \$. ( ) ...