Java正则表达式匹配列表?

时间:2015-01-27 16:22:43

标签: java regex pattern-matching

我使用模式"(?mis)^foo\\s+(\\d+)\\s+bar\\s+(\\d+)"来搜索我的输入。我真正应该做的是在输入行的末尾提取一个或多个数字的列表。即,如果输入"foo 10 bar 1 2 3",我应该处理10& 1然后10& 2,10&等等等等。我尝试使用" {1,}"在模式结尾处有各种变化(while (match.find()) {}没有成功。

我如何完成我需要做的事情?

由于

1 个答案:

答案 0 :(得分:0)

使用此正则表达式分别提取固定部分和所有数字:

(?mi)^foo\\s+(\\d+)\\s+bar((?:\\s+\\d+)*)$

然后在group(2)上使用:

String[] nums = matcher.group(2).split("\\s+");

获取bar之后的所有数字。

RegEx Demo