程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

学习VBA,报表做到飞 第四章 正则表达式 4.12 正则表达式与数组结合

balukai 2025-04-27 12:27:37 文章精选 3 ℃

第四章 正则表达式

4.12 正则表达式与数组结合

如果匹配一个字符串需要多个正则表达式,也可以把正则表达式写在数组里,用for each语句循环执行。

例句:

For each 变量in Array(“arr(1)”,”arr(2)”,”arr(3)”)

.pattern=变量

Next


小程序:

对设置的密码进行校验,确保有大写字母、小写字母和数字。

Sub 校验密码()

Set reg = CreateObject("vbscript.regexp")

mm = InputBox("请设置您的密码:")

If Len(mm) < 6 Then MsgBox "密码长度不能少于6位": Exit Sub

For Each ss In Array("[A-Z]", "[a-z]", "\d")

With reg

.Global = True

.Pattern = ss

If .Test(mm) Then

n = n + 1

End If

End With

Next

If n < 3 Then

MsgBox "密码中必须包含大写字母、小写字母和数字"

Else

MsgBox "密码设置成功!"

End If

End Sub

我们把密码里需要包含的大写字母、小写字母和数字放在数组Array("[A-Z]", "[a-z]", "\d")里,然后利用变量在这个数组里循环,分别与输入的密码测试是否能够匹配成功。匹配成功了n累加1,如果密码三项要素都包含,最后n的值为3。


往期精彩回顾:

学习VBA,报表做到飞 第四章 正则表达式 4.11 零宽断言

学习VBA,报表做到飞 第四章 正则表达式 4.10 贪婪模式与懒惰模式

学习VBA,报表做到飞 第四章 正则表达式 4.9 后向引用


我是云飞扬,职场财会人员,愿与大家分享表格制作和数据统计分析的技巧与方法,希望大家的工作更便捷,更轻松!

最近发表
标签列表