【问题标题】:I need a regex expression for validating sri lankan vehicle number我需要一个正则表达式来验证斯里兰卡车号
【发布时间】:2015-04-20 14:00:07
【问题描述】:

我的车号是这样的。

1-0001,
10-0010,
111-000

A-3049,
KJ-6825,
AAC-3422

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

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

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

【问题讨论】:

  • 这个数字是否正确 :111-000 ?

标签: c# regex validation


【解决方案1】:
^([a-zA-Z]{1,3}|((?!0*-)[0-9]{1,3}))-[0-9]{4}(?<!0{4})

试试这个。查看演示。

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

lookaheadlookbehind 将确保在开始时没有所有 0\s 或在结束时没有所有 0's

也可以使用

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

为了确保您不会进行部分匹配。

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

【讨论】:

  • 很好的模式,只需几个步骤,如果你删除无用的组并且使第一个组原子化,你可以改进它。
  • 是的,只支持所有格量​​词。 regexstorm.net/tester
【解决方案2】:

这个怎么样:

^((?!0000)([a-zA-Z]{1,3}|([0-9]{1,3}))-[0-9])|(([a-zA-Z]{1,3}|([0-9]{1,3}))-[0-9])(?!000)

Debuggex Demo

【讨论】:

    【解决方案3】:

    那么这个呢:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-13
      • 1970-01-01
      • 2021-06-23
      • 1970-01-01
      • 1970-01-01
      • 2015-07-22
      相关资源
      最近更新 更多