我有以下正则表达式:^([0-9]{1,4}(\ -?)){3}[0-9]{1,4}$
它实际上匹配1234
我想强制只匹配6个或更多的数字(即不包括破折号),例如。 1234 12或12 1 123或1 1 123 1或1-12-12-2222或1-123 2 2等。
有没有简单的方法可以实现这一目标?
答案 0 :(得分:1)
您可以使用此正则表达式进行前瞻,以断言存在至少6位数字:
/^(?=(?:\D*\d){6})(?:\d{1,4}[ -]?){3}\d{1,4}$/gm
这里(?=(?:\D*\d){6})
是一个积极的前瞻性,当存在至少6位数字且中间有0个或多个非数字时,则为true。