我一直在尝试使用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提前!
答案 0 :(得分:0)
发现它!!我的骨头错误,就是这样。似乎现在正确排除。 Tanx的帮助! 对不起DaVeInCaz(sp?)我发布的样本只是将00作为第一个字符作为占位符。样本可能是123456-789XY或789123-456YZ,我希望RegExp失败,但事实并非如此。