2

我的工作表中有几个包含ISIN的单元格。

以下是 ISIN 的示例:DE0006231004

我创建了一个匹配 ISIN 的正则表达式: ^[a-zA-Z]{2}[0-9]{10}$

我想在我的单元格上匹配这个正则表达式,如果它匹配,则给出 1,否则为 0。

这可能与功能有关吗?

4

2 回答 2

4

以下功能将满足您的需求。如果字符串不匹配,它将返回 0(零),如果字符串与模式匹配,则返回 1(一)。

Function MatchISIN(ISIN As String)

    Dim regEx As Object
    Set regEx = CreateObject("vbscript.regexp")

    regEx.Pattern = "^[a-zA-Z]{2}[0-9]{10}$"
    regEx.IgnoreCase = True
    regEx.Global = True

    Dim Matches As Object
    Set Matches = regEx.Execute(ISIN)

    MatchISIN = Matches.Count

End Function
于 2013-11-05T08:44:52.590 回答
1

您可以使用内置Like方法;

if "DE0006231009" like "[A-Za-z][A-Za-z]##########" then ...
于 2013-11-05T10:37:11.690 回答