列表的Java正则表达式模式

时间:2016-10-15 04:18:12

标签: java regex

我应该使用什么Java正则表达式来匹配符号中的正整数列表(例如(5,44,1,67,114))?每个数字后面应加一个逗号,然后是任意数量的空格:

"(4, 1, 19, 22, 540)"
"(84, 55, 7, 40, 77231, 18, 35, 13)"
"(6,    5794,       81, 2,  334)"

1 个答案:

答案 0 :(得分:0)

您可以使用java.util.regex包中的类:匹配器模式
适合您期望的模式是

[0-9]+ 


因为它在一个序列中占用了所有连续的数字。

public static void main(String[] args) {
    String s = "(84, 55, 7, 40, 77231, 18, 35, 13)";
    Pattern p = Pattern.compile("[0-9]+");
    Matcher m = p.matcher(s);
    while(m.find())
        System.out.println(m.group());
}

然后如果你想将它从String解析为int,你可以使用:

Integer.parseInt(m.group())


有关在Java中使用Regex的更多信息,请阅读here

希望它有所帮助。