^(?=.*[0-9])(?=.*[A-z])[0-9A-z-]{17}$
Run Code Online (Sandbox Code Playgroud)
应该匹配"17个字母数字字符,也允许使用连字符,必须包含至少一个字母和至少一个数字"
它会正确匹配:
ABCDF31U100027743
Run Code Online (Sandbox Code Playgroud)
并正确拒绝匹配:
AB$DF31U100027743
Run Code Online (Sandbox Code Playgroud)
(以及几乎任何其他非字母数字字符)
但显然会允许:
AB^DF31U100027743
Run Code Online (Sandbox Code Playgroud) regex ×1