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 学习经验的更多相关文章

  1. excel VBA一个fuction同时执行多个正则表达式,实现方法

    代码: Function zhengze3(ze1 As String, ze2 As String, Rng1 As Range, Rng2 As Range)    Set regx1 = Cre ...

  2. MySQL学习笔记:regexp正则表达式

    在MySQL中,模糊搜索的时候主要用两种方式: 1.like2.regexp + 正则表达式 性能优于like 正则表达式描述了一组字符串. 最简单的正则表达式是不含任何特殊字符的正则表达式.例如,正 ...

  3. Excel VBA 入门基础

    Private Sub RegExp_Replace() Dim RegExp As Object Dim SearchRange As Range, Cell As Range '此处定义正则表达式 ...

  4. excel VBA把一个单元格内容按逗号拆分并依次替换到另一个单元格的括号里面(本题例子,把文本中的括号换成{答案}的格式,并按顺序填空)

    方法1:运用excel单元格拆分合并实现 思路:用VBA正则查询左侧括号个数,对右侧单元格逐一按逗号.顿号等符号分列,同时左侧按括号分列(分列只能按括号单边分列),分列完成后按要求合并,本题事例把括号 ...

  5. 来吧!带你玩转 Excel VBA

    来吧!带你玩转 Excel VBA 从错失良机到艰辛的DOS征程,从坎坷购机自学路到转机起程,从爱好到事业,他从一个完全不懂电脑的人到VBA高级应用者,一切全是自学…… 我是罗刚君,来自四川的一个小县 ...

  6. PHP正则表达式之快速学习法

    1.入门简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.我们可以在几乎所有的基于UNIX系统的工具中找到正则表达式的身影,例如,vi编辑器,Perl或PHP脚本语言,以及awk或 ...

  7. Excel VBA业余爱好者心得及总结

    我不是IT专业人士,而是一位医务工作者,当初学习Excel VBA时,是因为读研究生时的课题需要:实验仪器每天产生4个Word文件,每个文件有9个表格,总计近百个数据.为了对这些数据进行统计分析,则需 ...

  8. excel VBA正则匹配单元格符号,并按符号把单元格拆分行(这里是按第一列分行,分行是从活动单元格的行开始,分行前需要选择所有需要填充内容的列,否则需要后期手动填充)

    Sub W()   ' MsgBox "行数:" & Selection.Rows.Count    Dim rows_count As Integer    Dim ro ...

  9. Excel DNA学习笔记一

    由于各种原因,被迫学习Excel DNA这个开源项目的使用方法,最后希望可以在其中,调用xll进行编码. 由此整理一下,这期间使用到的一些资料. 1.下载Excel DNA,目前最新的是0.30版 h ...

随机推荐

  1. 成员变量传参,jion方法的使用

    package charpter06; //MyThread02和MyThread01两个类 相互调用的结果public class MyThread01 extends Thread { // 用全 ...

  2. 《剑指offer》-和为S的正整数序列

    双指针问题.似曾相识. /* 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括 ...

  3. 《microsoft sql server 2008技术内幕 t-sql语言基础》

    第一章 TSQL编程基础 源代码下载:TSQLFundamentals2008 创建表 USE testdb; CREATE TABLE dbo.Employess ( empid INT NOT N ...

  4. python算法双指针问题:使用列表和数组模拟单链表

    这个很多基础算法,python已内部实现了. 所以,要想自己实现链表这些功能时, 反而需要自己来构造链表的数据结构. 当然,这是python灵活之处, 也是python性能表达不如意的来源. valu ...

  5. 【Restful】三分钟彻底了解Restful最佳实践

    REST是英文representational state transfer(表象性状态转变)或者表述性状态转移;Rest是web服务的一种架构风格;使用HTTP,URI,XML,JSON,HTML等 ...

  6. python全栈开发day28-网络编程之粘包、解决粘包,上传和下载的作业

    一.昨日内容回顾 1. tcp和udp编码 2. 自定义mysocket解决编码问题 二.今日内容总结 1.粘包 1)产生粘包原因: (1).接收方不知道消息之间的边界,不知道一次性要取多少字节的数据 ...

  7. 深入了解Activiti工作流流程定义

    深入了解Activiti工作流流程定义 2016-03-27| 发布: | 浏览: 2363 |保存PDF 部署流程定义 部署流程定义的流程: 1. 先获取流程引擎对象:在创建时会自动加载 class ...

  8. BZOJ1875 [SDOI2009]HH去散步 矩阵

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1875 题意概括 在一个无向图(有重边无自环)中走,不能在经过连续经过某一条边2次. 现在走t步,问 ...

  9. 练习|Django-单表

    结构目录 页面展示: 1创建Django,创建app01 在modules.py添加 class Book(models.Model): id=models.AutoField(primary_key ...

  10. pandas学习(常用数学统计方法总结、读取或保存数据、缺省值和异常值处理)

    pandas学习(常用数学统计方法总结.读取或保存数据.缺省值和异常值处理) 目录 常用数学统计方法总结 读取或保存数据 缺省值和异常值处理 常用数学统计方法总结 count 计算非NA值的数量 de ...