正在做一个程序,想用正则表达式来完成对单元格内容的check,从网上学的使用Dim reg As New VBScript_RegExp_55.RegExp,发现一个问题:
比如我想验证一个单元格,内容是99999999-9(8个数字-1个数字),写成reg.Pattern = "\d{8}-\d{1}",结果check的时候,比如1234567-1(前面只有7个数字),能够check出来,但是比如123456789-12(前后都多1个数字)这样的,却check不出来。就是"\d{8}"这种应该正好匹配8个数字,但是大于等于8个都匹配,感觉很迷惑,请问这是怎么回事,怎么解决?
平常正则表达式接触的不多,如果有什么地方理解错了,还请大家不吝指正。
------解决方案--------------------------------------------------------
哦,那就前面加上 ^ 表示字符串的开头,后面加上 $ 表示结尾就可以了.
"^\d{8}-\d{1}$"