【发布时间】:2017-05-10 01:30:30
【问题描述】:
我在 Groovy 中使用正则表达式。
我正在尝试用以下规则制定正则表达式。
- 必须正好是 17 个字符
- 只能包含字母和数字
- 必须至少包含 1 个字母和 1 个数字字符
- 不能包含字母“I”、“O”或“Q”(大写或小写)
通过下面的表达,我想我快到了。下面的正则表达式似乎可以满足要求 1,2 和 3。
def pttrnVin = /^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+){17}$/
我尝试添加要求 4,但没有成功。有人可以帮我吗?
谢谢
【问题讨论】:
-
将
a-z更改为a-hj-npr-z(使用不区分大小写的标志,不必以大写形式重复) 并删除+量词和捕获组没用的。