VBA Excel – 需要一个函数来查找string中的模式数据

我想知道是否有一个函数,将拉出一个string匹配一个特定的模式。 我目前正试图把这个:“C3-4”这是位于一个string,并在多个不同的部分find。 string也会改变,例如它可能是L2-3,所以我需要这个函数(如果存在的话)能够识别一个模式,比如AX-X(A是一个字母,X是一个数字,是一个 – )任何帮助将不胜感激。 对不起,如果问题是模糊的,我还没有任何编写程序来帮助举例,因为我需要这个给我一个开始编程的基线。

===编辑===

我已经能够想出这个,但是我认为我的模式是不正确的,当评估为“是”时评估为“否”:

Sub RegEx_Tester() Set objRegExp_1 = CreateObject("vbscript.regexp") objRegExp_1.Global = True objRegExp_1.IgnoreCase = True objRegExp_1.Pattern = "[TSCL][1-13]*-[1-13]" strToSearch = "L5-1" Set regExp_Matches = objRegExp_1.Execute(strToSearch) If regExp_Matches.Count = 1 Then MsgBox ("Yes") Else MsgBox ("No") End If End Sub 

试试这个。

我修改了一些模式。 第一个分组需要一个字母字符,后跟可能是一个或两个数字的数字,后面跟一个破折号(用\转义,因为否则它在正则expression式中有特殊含义),后面是单个字符数字。 让我知道如果你没有看到我在这里做了什么,我会尽力解释一下

 Sub RegEx_Tester() Set objRegExp_1 = CreateObject("vbscript.regexp") objRegExp_1.Global = True objRegExp_1.IgnoreCase = True objRegExp_1.Pattern = "[AZ]{1}[0-9]{1,2}\-[0-9]{1}" strToSearch = "L5-1" Set regExp_Matches = objRegExp_1.Execute(strToSearch) WScript.Echo regExp_Matches.Count If regExp_Matches.Count = 1 Then MsgBox ("Yes") Else MsgBox ("No") End If End Sub