Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.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特定正则表达式_Java_Regex - Fatal编程技术网

Java特定正则表达式

Java特定正则表达式,java,regex,Java,Regex,我想编写一些代码来检查用户的输入是否与特定格式匹配。格式是“s”,后跟一个空格和一个数字,如果输入是s12 3 4,它将调用一些函数。s12也可以接受。到目前为止,我发现这个正则表达式可以工作指定的时间: if (inputLine.matches("s \\d+ \\d+")) { } 适用于s之后的2个数字,但我需要能够接受s之后的任何数字。 有没有适合我需要的正则表达式?谢谢将正则表达式更改为 if (inputLine.matches("s(?: \\d+)+")) { } 匹配空间

我想编写一些代码来检查用户的输入是否与特定格式匹配。格式是“s”,后跟一个空格和一个数字,如果输入是s12 3 4,它将调用一些函数。s12也可以接受。到目前为止,我发现这个正则表达式可以工作指定的时间:

if (inputLine.matches("s \\d+ \\d+")) { }
适用于s之后的2个数字,但我需要能够接受s之后的任何数字。 有没有适合我需要的正则表达式?谢谢

将正则表达式更改为

if (inputLine.matches("s(?: \\d+)+")) { }
匹配空间的s、空格和1+序列,后跟1+位

如果允许s后面有0个数字,请将最后一个+量词替换为*以匹配零个或多个出现

由于重复的捕获组覆盖了组内容,因此在这里使用捕获组没有任何意义,因此,我建议使用非捕获组:…

将正则表达式更改为

if (inputLine.matches("s(?: \\d+)+")) { }
匹配空间的s、空格和1+序列,后跟1+位

如果允许s后面有0个数字,请将最后一个+量词替换为*以匹配零个或多个出现


由于重复的捕获组覆盖了组内容,因此在这里使用捕获组是没有意义的,因此,我建议使用非捕获组,试试这个。s\\d++在打开的括号后有一个空格尝试此操作。s\\d++在开始的括号后面有一个空格,你总是能很快回答这些正则表达式问题@拉菲杜扎曼松:我是从你那里学到的。我从你那里看到的大部分答案都是?:某种程度的。我想?意思是零或一。你能给我指一个关于这个的好资源吗@RafiduzzamanSonnet:也许,你可以给它一些启示。非常感谢你的链接!老兄,你总是这么快地问这些正则表达式问题@拉菲杜扎曼松:我是从你那里学到的。我从你那里看到的大部分答案都是?:某种程度的。我想?意思是零或一。你能给我指一个关于这个的好资源吗@RafiduzzamanSonnet:也许,你可以给它一些启示。非常感谢你的链接!