带有数字和一个字母的正则表达式格式

时间:2012-09-25 18:08:37

标签: regex

我想知道如何以格式创建正则表达式模式:

111.222-3M

1112223M

什么是数字只允许数字,最后一个只是一个字母。

提前谢谢。

2 个答案:

答案 0 :(得分:2)

严格的区分大小写的版本:

\d{3}\.?\d{3}-?\d[A-Z]

将匹配 1112223M 111.222-3M 111.2223M 111222-3M 。如果最后两个是不受欢迎的:

(\d{3}\d{3}\d[A-Z])|(\d{3}\.\d{3}-\d[A-Z])

只匹配前两个。

答案 1 :(得分:1)

如果这些只是匹配的两种模式,那么这将起作用:

^\d+\.?\d+\-?\d+[a-zA-Z]$

正如@ThomSmith所说,这个正则表达式将匹配不同位置的数字和小数和连字符,例如11.12-2223M。如果这是不受欢迎的,请告诉我。

编辑:

如果这些模式完全与您想要匹配的模式相同,那么这是一个更好的模式:

^\d{3}\.?\d{3}\-?\d[a-zA-Z]$