执行正则表达式的函数
常用的正则表达式
一、校验数字的表达式
• 数字:^[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。
——转载请注明出处!
扫码加微信