Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Regexp查找以数字开头的字符串长度_Java_Regex_Pattern Matching - Fatal编程技术网

Java Regexp查找以数字开头的字符串长度

Java Regexp查找以数字开头的字符串长度,java,regex,pattern-matching,Java,Regex,Pattern Matching,要找到以数字开头的字符串长度,regexp应该是什么。我已经尝试过像([0-9].*){5,}这样的方法,但它不起作用 我想检查字符串是否以数字开头,长度是否大于5 检查字符串是否以数字开头,且长度是否大于5 您可以使用此正则表达式: \b\d\S{5,} 正则表达式分解: \b - word boundary \d - match a digit \S{5,} - match any non-space character 5 or more times 在Java正则表达

要找到以数字开头的字符串长度,regexp应该是什么。我已经尝试过像
([0-9].*){5,}
这样的方法,但它不起作用

我想检查字符串是否以数字开头,长度是否大于5

检查字符串是否以数字开头,且长度是否大于5

您可以使用此正则表达式:

\b\d\S{5,}
正则表达式分解:

\b     - word boundary
\d     - match a digit
\S{5,} - match any non-space character 5 or more times
在Java正则表达式中,将是:

Pattern p = Pattern.compile("\\b\\d\\S{5,}");
你不需要把“.*”放进去。它意味着匹配任何连续的重复

只需尝试[0-9]{5,}

我想检查字符串是否以数字开头,长度是否大于5

所以,第一个字符必须是数字:
[0-9]

并且它必须至少再包含4个字符,总共5个:
{4,}

if (text.matches("[0-9].{4,}")) {
    // YAY
}
请参阅演示。

([0-9].*){5,}
非常好,但您正在寻找:
[0-9]
一个数字
*
任何字符0到无限次
这至少5次

如果你把它变成
[0-9].{5,}
你会得到以下结果:
[0-9]
任意数字
任意字符5次或以上

您可以将
[0-9]
随机转换为
\d
,然后获得
\d.{5,}

在前面添加
\b
,使舒尔成为一个词的开头,然后您会看到以下内容:

\b\d.{5,}

您是否可以添加一些样本输入,以仅匹配5位或更多数字
1abcd
也应该匹配,因为它“以一个数字开始,长度大于5”。应该是4,而不是5,因为初始数字也计数。对,但OP写入的
长度大于5
表示有效输入的长度至少应该是6