Java N位字符串

Java N位字符串,java,regex,Java,Regex,我需要一些关于Java中正则表达式的帮助 我们有字符串,我想要这个字符串。如果字符串包含N个数字,则匹配项会给我“true” 例如(N=12): 但是: 我试过这个(.[0-9].*){N}和这个^(.[0-9].*){N}$。但是它不正确。你可以试试这个 ^(?:\\D*\\d){12}\\D*$ 匹配方法不需要锚,所以 (?:\\D*\\d){12}\\D* 那就足够了 \\D匹配任何字符,但不匹配数字。因此,(?:\\D*\\D){12}确保必须没有任何非dgit字符,但必须正好包含1

我需要一些关于Java中正则表达式的帮助

我们有字符串,我想要这个字符串。如果字符串包含
N
个数字,则匹配项会给我“true”

例如(
N=12
):

但是:

我试过这个
(.[0-9].*){N}
和这个
^(.[0-9].*){N}$
。但是它不正确。

你可以试试这个

^(?:\\D*\\d){12}\\D*$
匹配
方法不需要锚,所以

(?:\\D*\\d){12}\\D*
那就足够了


\\D
匹配任何字符,但不匹配数字。因此,
(?:\\D*\\D){12}
确保必须没有任何非dgit字符,但必须正好包含12位数字。Last
\\D*
匹配零个或多个非数字字符。

注意:并非所有国家/地区都有10位数字,并且并非所有电话号码在每个国家/地区都有相同的数字。
^(?:\\D*\\d){12}\\D*$
(?:\\D*\\d){12}\\D*