demo:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestInterrupt {
public static void main(String[] args)
{
Pattern pattern;
String gameName = "play game DouDiZhu result:uid=1871653,score=-720,money=0";
pattern = Pattern.compile("play\\sgame\\s" + "DouDiZhu"
+ ".*uid=(\\d+),score=(-?\\d+),money=(-?\\d+)");
Matcher matcher = pattern.matcher(gameName);
int total = 0; // 总次数
while (matcher.find()) {
System.out.println(matcher.group(0));
System.out.println(matcher.group(1));
System.out.println(matcher.group(2));
}
}
}
. 任何字符
a? a一次或一次也没有
a* a零次或多次
a+ a一次或多次
\d 数字:[0-9]
\s 空白字符:[ \t\n\x0B\f\r]
上述代码匹配三个参数,可以看到有三个括号。分别为group(1),group(2),group(3)。
group(0)为整个匹配。
ps:-?是什么意思呢?其实就是-号有一次或一次都没有。