我的工作表中有几个包含ISIN的单元格。
以下是ISIN的示例:DE0006231004
我创建了一个与ISIN匹配的正则表达式:
^[a-zA-Z]{2}[0-9]{10}$
我希望在我的单元格上匹配此正则表达式,如果匹配,则给出1,否则为0。
这是否可以通过功能实现?
答案 0 :(得分: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
答案 1 :(得分:1)
您可以使用内置的Like
方法;
if "DE0006231009" like "[A-Za-z][A-Za-z]##########" then ...