Skip to main content
 首页 » 编程设计

c#之我需要一个正则表达式来验证斯里兰卡车号

2024年02月01日29lyj

我的车号是这样的。

1-0001, 
10-0010, 
111-000 
 
A-3049, 
KJ-6825, 
AAC-3422 

下面的表达式是我找到的。

^([a-zA-Z]{1,3}|([0-9]{1,3}))-[0-9]{4} 

但我希望前三个字符不应该全为零,或者最后四个字符不应该全为零,我该如何制作一个有效的表达式?

请您参考如下方法:

^([a-zA-Z]{1,3}|((?!0*-)[0-9]{1,3}))-[0-9]{4}(?<!0{4}) 

试试这个。查看演示。

https://regex101.com/r/mS3tQ7/12

lookahead 和 lookbehind 将确保开始时没有全 0\s 或全 0 最后。

也用

^(?>[a-zA-Z]{1,3}|(?!0*-)[0-9]{1,3})-[0-9]{4}(?<!0{4}) 

确保您不进行部分匹配。

https://regex101.com/r/mS3tQ7/13