我正在尝试为消费产品模型创建一个正则表达式。
我有一个正则表达式:([a-z]*-?[0-9]+-?[a-z]*-?){4,}
我希望将整个特殊字符串限制为4或更多,但实际情况是,该限制仅应用于数字。
你能告诉我我做错了什么吗,或者我如何才能限制整个特殊字符串,而不仅仅是数字?
限制:
1-字符串至少包含1位数字
2-字符串可以包含字符
3-字符串可以包含"-“
4-最小长度=4
发布于 2013-10-03 22:23:34
到目前为止你的情况总结:
下面的regexp可以满足所有这些要求:
^(?=.*\d)([A-Za-z0-9-]+){4,}$注意::^和$符号表示验证了整个输入字符串。如果不是这样的话就改变这一点。
发布于 2013-10-03 21:34:11
它不能匹配...EM24A1BF包含EM,它是2a-z,而不是您的正则表达式所说的1。像这样的东西
[a-z]*-?\d+-?[a-z]*-?\d*[a-z]+匹配您的表达式和所有这些内容:
eM24A-1BF
为了确保字符串同时满足您的要求(字符的位置和组成以及长度要求),需要使用non-consuming regular expression
发布于 2013-10-09 22:35:43
看看这个
([\w-]*\d+[\w-]*){4,}它与以下内容匹配
32ES5200G
LE32K900
N55XT770XWAU3Dhttps://stackoverflow.com/questions/19160570
复制相似问题