Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex VBA正则表达式将两组四位数字与字符串匹配_Regex_Vba - Fatal编程技术网

Regex VBA正则表达式将两组四位数字与字符串匹配

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

我正在尝试创建一个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-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
将进一步缩短它。