1

模式例如:

L(IP)-P(F)-2(014)

更多示例:

B-G-2
BI-GH-1245
HH-X-124

括号中的字符是可选的。第一部分(最多 3 个字符,最少 1 个)和第二部分(最多 2 个字符,最少 1 个)仅包含字母。第三部分(最多 4. 分钟 1)仅包含数字。部分用“-”分隔。

任何想法这个正则表达式会是什么样子?

4

3 回答 3

11

您可以使用字符类[A-Z]来匹配任何大写字符,以及\d匹配任何数字。您可以使用 指定重复{m,n},这意味着“匹配mn次之间的前一个元素”:

它可能看起来像这样:

[A-Z]{1,3}-[A-Z]{1,2}-[0-9]{1,4}

您可能还需要添加字符串锚点的开头和结尾(分别为^$):

^[A-Z]{1,3}-[A-Z]{1,2}-[0-9]{1,4}$

这取决于您是尝试从较大的字符串中提取车牌还是尝试查看特定字符串是否是车牌(仅此而已)。

如果您还需要匹配小写字符,请将每个[A-Z]类更改为[A-Za-z].

于 2013-10-23T16:25:12.457 回答
5

您可以使用此正则表达式:

^[A-Za-z]{1,3}-[A-Za-z]{1,2}-[0-9]{1,4}$
于 2013-10-23T16:23:04.543 回答
1

如果我正确解释你,你基本上需要

<1-3 个字母><1-2 个字母><1-4 个数字>

或 [A-Za-z]{1,3}-[A-Za-z]{1,2}-[0-9]{1,4}

于 2013-10-23T16:26:06.180 回答