我想知道如何创建格式的正则表达式模式:
111.222-3M
和
1112223M
什么是数字只能是数字,最后一个只能是字母。
提前谢谢。
一个严格的、区分大小写的版本:
\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])
将仅匹配前两个。
如果这些确实是唯一要匹配的两种模式,那么这将起作用:
^\d+\.?\d+\-?\d+[a-zA-Z]$
正如@ThomSmith 所说,这个正则表达式也会匹配不同位置的小数和连字符,例如 11.12-2223M。如果这是不可取的,请告诉我。
编辑:
如果这些模式与您要匹配的模式完全相同,那么这是一个更好的模式:
^\d{3}\.?\d{3}\-?\d[a-zA-Z]$