regex - 如何为 GIIN 格式验证创建正则表达式 VBA 宏

标签 regex excel vba

我正在尝试创建一个宏来验证一列中的数据,然后让我知道它们在下一列中的格式是否正确。我对 VBA 很陌生,所以如果我的代码困惑,我深表歉意。

我要验证的格式是 ABC123.AB123.AB.123——前两个部分可以包含字母/数字,第三部分只能包含字母,最后一部分只能包含数字。

任何指导将不胜感激!

Function ValidGIIN(myGIIN As String) As String
    Dim regExp As Object

    Set regExp = CreateObject("VBScript.Regexp")

    If Len(myGIIN) Then
            .Global = True
            .IgnoreCase = True
            .Pattern = "[a-zA-Z0-9_][a-zA-Z0-9_][a-zA-Z0-9_][a-zA-Z0-9_][a-zA-Z0-9_][a-zA-Z0-9_][.][a-zA-Z0-9_][a-zA-Z0-9_][a-zA-Z0-9_][a-zA-Z0-9_][a-zA-Z0-9_][.][a-zA-z_][a-zA-z_][.][0-9][0-9][0-9]"

        End With

        If regExp.Test(myGIIN) = True Then
            ValidGIIN = "Valid"
        Else
            ValidGIIN = "Invalid"

        End If
    End If
    Set regExp = Nothing

End Function

最佳答案

尝试以下模式

[a-zA-Z0-9]{6}\.[a-zA-Z0-9]{5}\.[A-Za-z]{2}\.\d{3}

您可以在列中的单元格上循环调用您的函数,并使用 offset(0,1) 将结果写入到右侧的下一列。

关于regex - 如何为 GIIN 格式验证创建正则表达式 VBA 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56136745/

相关文章:

c# - 匹配包含未知文本的字符串

excel - 将 Word 文档中的数据提取到 Excel 电子表格

excel - 如何使用 Access VBA 获取在服务器上打开 (Excel) 文件的用户名?

vba 枚举错误 : "Invalid inside procedure."

excel - 如何使用宏 VBA 在 excel 中将默认日期格式(即 0/1/1900)替换为空白

c++ - 带有反向引用的正则表达式在 C++ 中不匹配

regex - 多行的正则表达式模式是什么(logstash)

regex - 将正则表达式转换为CFG

excel - 将重复条目与 Excel 中的唯一数据合并

php - 将大型 Excel 工作表转换为 Mysql?