执行正则表达式的函数

常用的正则表达式

一、校验数字的表达式
•	数字:^[0-9]*$
•	n位的数字:^\d{n}$
•	至少n位的数字:^\d{n,}$
•	m-n位的数字:^\d{m,n}$
•	零和非零开头的数字:^(0|[1-9][0-9]*)$
•	非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(\.[0-9]{1,2})?$
•	带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})$
•	正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$
•	有两位小数的正实数:^[0-9]+(\.[0-9]{2})?$
    …… ……

详细内容参考以下链接内容:

https://download.csdn.net/download/w_dexu/12561989

使用函数来执行正则表达式,方便字符串处理

在正常的编程中,需要大量的处理字符串,特别是对输入的内容进行校验,如密码,身份证号,电话号码等,还有时需要在字符串中进行查找和替换,特别是模糊查找时,使用正则表达示来做会起到事半功倍的效率,下面提供一个函数,可以用于解析正则表达式,返回处理后的结果。

函数代码

Function ExecExStr(源字符串 As String, 正则表达式 As String, Optional 替换字符串 As String = "", Optional 是否替换 As Boolean = False) As String
    Dim Regex As Object
    Set Regex = CreateObject("VBSCRIPT.REGEXP")
    With Regex
        .Global = True
        .IgnoreCase = True
        .MultiLine = True
        .Pattern = 正则表达式
    End With
    
    If 是否替换 Then   '替换
          ExecExStr = Regex.Replace(源字符串, 替换字符串)  
    Else              '提取
          Dim matches As Object
          Dim match As Object
          Set matches = Regex.Execute(源字符串)
          For Each match In matches
                ExecExStr = ExecExStr & match.Value
          Next
    End If
End Function

——专注办公软件的二次开发及培训,你有问题,我有思路!
——微博、微信、CSDN同号:w_dexu
——转载请注明出处!

微信二维码扫码加微信

猜你喜欢

转载自blog.csdn.net/w_dexu/article/details/107029177
今日推荐