Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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 Regex:简单除法字符串的模式_Java_Regex - Fatal编程技术网

Java Regex:简单除法字符串的模式

Java Regex:简单除法字符串的模式,java,regex,Java,Regex,我有一个字符串遵循以下模式: String patternString = "([0-9]+)/([0-9]+).*"; Pattern pattern = Pattern.compile(patternString); Matcher matcher = pattern.matcher(stat); if (matcher.matches()) { int i = Integer.parseInt(matcher.group(0)); int j = Integer.pars

我有一个字符串遵循以下模式:

String patternString = "([0-9]+)/([0-9]+).*";
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(stat);

if (matcher.matches()) {
    int i = Integer.parseInt(matcher.group(0));
    int j = Integer.parseInt(matcher.group(2));
}
2/9(22%)

其中
2
9
可能包含一个或多个数字。我需要解析这两个整数,所以我想出了这个模式:

String patternString = "([0-9]+)/([0-9]+).*";
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(stat);

if (matcher.matches()) {
    int i = Integer.parseInt(matcher.group(0));
    int j = Integer.parseInt(matcher.group(2));
}
但这会导致以下错误:

java.lang.NumberFormatException:无效int:“2/9(22%)”

这意味着它与第0组上的整个字符串相匹配

我还尝试将
/
字符放在
[/]
中,但结果相同


我做错了什么?谢谢

使用第1组。组0将匹配整个字符串

int i = Integer.parseInt(matcher.group(1));

使用第1组。组0将匹配整个字符串

int i = Integer.parseInt(matcher.group(1));

您应该使用
组(1)
组(2)


group(0)
是您在问题中实际陈述的整个字符串

您应该使用
group(1)
group(2)


group(0)
是您在问题中实际陈述的整个字符串

Ack!谢谢我没意识到,阿克!谢谢我不知道。