Regex VBA正则表达式将两组四位数字与字符串匹配
我正在尝试创建一个Excel正则表达式模式来查找某个字符串。这就是我所尝试的: 我正在尝试使其与0和0000到9999匹配Regex VBA正则表达式将两组四位数字与字符串匹配,regex,vba,Regex,Vba,我正在尝试创建一个Excel正则表达式模式来查找某个字符串。这就是我所尝试的: 我正在尝试使其与0和0000到9999匹配 StringToMatch = "a75z6878" Dim objRegExp As New RegExp Set objRegExp = CreateObject("vbscript.regexp") objRegExp.IgnoreCase = True objRegExp.Global = True objRegExp.Pattern = "[a
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!)
我尝试过不同的模式,但都不管用。我做错了什么?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}
例如,请参见链接
或者像这样的短版本
[a-z]\d{1,4}[a-z]\d{1,4}
关于他的问题你是对的,但是你的修正中有一些错误:帕伦不匹配。但是,当你这样做的时候,只需去掉帕伦;不需要它们。而
\d
将进一步缩短它。