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 ...
随机推荐
- Java入门第一章知识点总结
-d是directory 目录的意思 cls:清楚doc里面的内容 ipconfig:显示网络配置信息 java -version:检查安装的jdk版本信息 是类型自动向上转换. 在输出时,根据当前 ...
- Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
今天在对 Ubuntu 进行更新源的时候,突然出现下列错误(为了省事,更新前直接切换了 root 用户) 上网查了一下,网上解释说应该是之前那个更新被强制取消的问题,进程仍然还在.用这个命令查看一下: ...
- hdu 1711( 模式串T在主串S中首次出现的位置)
Sample Input213 51 2 1 2 3 1 2 3 1 3 2 1 21 2 3 1 313 51 2 1 2 3 1 2 3 1 3 2 1 21 2 3 2 1 Sample Out ...
- hdu 2197 求长度为n的本原串 (快速幂+map)
Problem Description由0和1组成的串中,不能表示为由几个相同的较小的串连接成的串,称为本原串,有多少个长为n(n<=100000000)的本原串?答案mod2008.例如,10 ...
- html的header结构和实例
HTML header结构 <html> <head> <!-- base标签为页面上的所有链接规定默认地址或默认目标. 通常情况下,浏览器会从当前文档的 URL 中提取 ...
- HDU2473 Junk-Mail Filter 并查集
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - HDU2473 题意概括 一堆点. 要你支持合并两组点.分离某组点中的一个,这两种操作. 点数<=100 ...
- BZOJ4992 [Usaco2017 Feb]Why Did the Cow Cross the Road 最短路 SPFA
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ4992 题意概括 在一幅n*n的地图上,Amber从左上角走到右下角,每走一步需要花费时间t,每走完 ...
- php特别值
if(!isset($lichi)){ echo'未定义'; if(empty($lichi)){ echo '未定义的显示为空的';//最终会走到这来 } } 手册类型比较表 empty为真$x = ...
- 《Android进阶之光》--多线程编程
No1: 实现多线程的3中方法 1)继承Thread,重写run()方法 2)实现Runnable接口,并实现该接口的run()方法 3)实现Callable接口,重写call()方法 public ...
- 暴力破解ZIP文件密码
Python 的标准库提供了 ZIP 文件的提取压缩模块 zipfile,现在让我们试着用这个模块,暴力破解出加密的 ZIP 文件!我们可以用 extractall()这个函数抽取文件,密码正确则返回 ...