• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

奋斗中...

曾经的程序员。ASP.NET/C#, JavaScript, PL/SQL, T-SQL; 工具: VS2003/2005, Oracle, SQLServer; 偶尔写点CSS, 批处理.
头脑中经常有新想法, 可惜没有去实现.
Never give up.
Never get into a fight with a pig. Both of you will get dirty. But the pig actually enjoys it.
  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

【转载】一个通用的调用正则表达式的函数

来源于:

 

'sOrignText参数表示要执行正则表达式的字符串,sPattern 参数表示正则模式,sReplaceText参数表示要把找到的内容替换为的字符串
Function DoRegExp(ByVal sOrignText As String, ByVal sPattern As String, Optional sReplaceText As String = "")
    '定义正则表达式对象
    Dim oRegExp As Object
    '定义匹配字符串集合对象
    Dim oMatches As Object
    '定义匹配子字符串集合对象
    Dim oSubMatches As Object
    Dim oMatch As Object
    Dim str1 As String
    '创建正则表达式
    Set oRegExp = CreateObject("vbscript.regexp")
    With oRegExp
        '设置是否匹配所有的符合项,True表示匹配所有, False表示仅匹配第一个符合项
        .Global = True
        '设置是否区分大小写,True表示不区分大小写, False表示区分大小写
        .IgnoreCase = True
        '设置要查找的正则规则
        .Pattern = sPattern
        '判断是否可以找到匹配的字符,若可以则返回True
        If .Test(sOrignText) Then
'            对字符串执行正则查找,返回所有的查找值的集合,若未找到,则为空
            Set oMatches = .Execute(sOrignText)
'            For Each oMatch In oMatches
'                '返回匹配到的字符串的位置
'                Debug.Print oMatch.FirstIndex
'                '返回匹配到的字符串的长度
'                Debug.Print oMatch.Length
'                '返回子匹配结果
'                str1 = oMatch.SubMatches(0)
'            Next
'            DoRegExp = oMatches(0).Value
'            把字符串中用正则找到的所有匹配字符替换为其它字符
            DoRegExp = .Replace(sOrignText, sReplaceText)
        Else
            DoRegExp = sOrignText
        End If
    End With
    Set oRegExp = Nothing
    Set oMatches = Nothing
End Function

 

正则表达式对象有以下属性

属性 作用
Global Global属性用来表示是否对所有字符串中满足规则的字符进行检索
还是只针对第一个出现的满足规则的字符
IgnoreCase IgnoreCase属性表示是否忽略大小写,也就是大小写是否视为一样
Pattern Pattern属性即为要对字符串进行检索的正则表达式的规则

有以下方法:

方法 作用
Test Test方法用来判断是否被查找的字符串含有满足正则表达式规则的部分
Replace Replace方法用来把被查找的字符串中满足正则表达式规则的部分替换为其它的字符
Execute Execute方法即对被查找的字符串执行查找操作,
它将返回一个Matches 集合,所有被查找到的字符串都是Matches 集合的元素。

如果要处理匹配到的每一个结果,可以遍历Matches 集合,通过Match对象的FirstIndex属性返回匹配结果在整个字符串数据中的位置,通过Match对象的Length属性返回匹配的字符串的长度。其中Matches集合还可以有子集合SubMatches。

 

posted on 2020-04-16 23:28  jes  阅读(265)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3