VBScript / VB6 RegExp模式不起作用

时间:2017-11-03 22:10:24

标签: regex vbscript vb6

我一直在尝试使用VBScript中的RegExp执行字符串格式匹配。 VB6。我试图匹配一个短的单行字符串,如12345-678XY或AB345-678XY,也不匹配012345-678XY或0AB345-678XY。我尝试了以下RegExp模式无济于事:

(^[A-Z0-9]{5}[-][0-9]{3}[A-Z]{2})
(^[A-Z0-9]{5})[-]([0-9]{3}[A-Z]{2})
(^[A-Z0-9]{5})-([0-9]{3}[A-Z]{2})
(^[A-Z0-9]{5}-[0-9]{3}[A-Z]{2})
([A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9][-][0-9]{3}[A-Z]{2})
(^[A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9][-][0-9]{3}[A-Z]{2})
(^[A-Z0-9]{5})([-])([0-9]{3}[A-Z]{2})
^[A-Z0-9]{5}-[0-9]{3}[A-Z]{2}
(^[A-Z0-9]{5})[-]([0-9]{3})([A-Z]{2})
(^[A-Z0-9]{5})-([0-9]{3})([A-Z]{2})
(^[A-Z0-9]{5}?)-([0-9]{3})([A-Z]{2})

这些模式都匹配12345-678XY和AB345-678XY就好了,但未能排除012345-678XY和0AB345-678XY。我做错了什么?

此时我并不关心Grouping Constructs,因为一旦匹配正确,我会使用第二种模式进行分组。 Tanx提前!

1 个答案:

答案 0 :(得分:0)

发现它!!我的骨头错误,就是这样。似乎现在正确排除。 Tanx的帮助! 对不起DaVeInCaz(sp?)我发布的样本只是将00作为第一个字符作为占位符。样本可能是123456-789XY或789123-456YZ,我希望RegExp失败,但事实并非如此。