-1

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

111.222-3M

1112223M

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

提前谢谢。

4

2 回答 2

2

一个严格的、区分大小写的版本:

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

将匹配1112223M111.222-3M111.2223M111222-3M。如果最后两个是不可取的:

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

将仅匹配前两个。

于 2012-09-25T18:22:14.163 回答
1

如果这些确实是唯一要匹配的两种模式,那么这将起作用:

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

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

编辑:

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

^\d{3}\.?\d{3}\-?\d[a-zA-Z]$
于 2012-09-25T18:10:41.453 回答