我需要Java正则表达式方面的帮助。
我们有字符串,如果字符串包含N
数字,我希望String.matches给我“ true” 。
例如(N = 12
):
+012345678900 - true
0123-4567-0000 - true;
但:
+0123456789 - false
0123-4567-000000 - false.
我尝试了这个(.*[0-9].*){N}
和这个^(.*[0-9].*){N}$
。但这是错误的。
你可以试试看
^(?:\\D*\\d){12}\\D*$
matches
方法不需要锚,所以
(?:\\D*\\d){12}\\D*
就足够了..
\\D
匹配任何字符,但不匹配数字。因此,请(?:\\D*\\d){12}
确保没有任何非dgit字符,但必须恰好包含12位数字。Last\\D*
匹配零个或多个非数字字符。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句