VBA正则表达式匹配两组带字符串的四位数

时间:2014-11-11 18:41:05

标签: regex vba

我试图制作一个Excel Regex模式来查找某个字符串。这就是我想要的:

我正在努力使其与0和0000匹配<9999

StringToMatch = "a75z6878"

Dim objRegExp As New RegExp  
Set objRegExp = CreateObject("vbscript.regexp")  
objRegExp.IgnoreCase = True  
objRegExp.Global = True  

objRegExp.Pattern = "[a-z]([0-9][0-9][0-9][0-9])[a-z]([0-9][0-9][0-9][0-9])"
objRegExp.Pattern = "[a-z]([0-9]{1-4})[a-z]([0-9]{1-4})"

If objRegExp.Test(StringToMatch) Then MsgBox(Found!)

我尝试过不同的模式但没有工作 我做错了什么???

1 个答案:

答案 0 :(得分:2)

objRegExp.Pattern = "[a-z]([0-9]{1-4})[a-z]([0-9]{1-4})"

出了什么问题

量词必须指定为{m,n}而不是{m-n}

将正则表达式更改为

[a-z][0-9]{1,4}[a-z][0-9]{1,4}

例如,请参阅链接http://regex101.com/r/wA2qM3/1

或更短的版本,如

 [a-z]\d{1,4}[a-z]\d{1,4}