我的车号是这样的。
1-0001,
10-0010,
111-000
A-3049,
KJ-6825,
AAC-3422
以下表达式是我找到的。
^([a-zA-Z]{1,3}|([0-9]{1,3}))-[0-9]{4}
但是我希望前三个字符不应该全为零,或者最后四个字符不是全部为零,我如何制作有效的表达式?
答案 0 :(得分: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's
。
也可以使用
^(?>[a-zA-Z]{1,3}|(?!0*-)[0-9]{1,3})-[0-9]{4}(?<!0{4})
确保你不进行部分匹配。
答案 1 :(得分:1)
这个怎么样:
^((?!0000)([a-zA-Z]{1,3}|([0-9]{1,3}))-[0-9])|(([a-zA-Z]{1,3}|([0-9]{1,3}))-[0-9])(?!000)
答案 2 :(得分:0)
那是怎么回事:
^([0-9] {1,3} | [A-Z] {1,3}) - [0-9] {1,4}