java模式匹配对空格不敏感

时间:2012-10-16 10:33:46

标签: java regex

我有:

Pattern pat = Pattern.compile("(\\d+) (\\d+) (1$)");
Matcher mat = pat.matcher(line);

匹配:

1 2 1

但不适用于:

1     2     1

我怎样才能实现,模式匹配根据数字之间的空格是不切实际的?

2 个答案:

答案 0 :(得分:5)

\s用于一个空格并添加+,表示一个或多个空格。

"(\\d+)\\s+(\\d+)\\s+(1$)"

如果您想要零个或多个空格,则必须使用*而不是+

答案 1 :(得分:1)

quantifier (+)与空格一起使用,以匹配one or more空格: -

Pattern.compile("(\\d+)\\s+(\\d+)\\s+(1$)");

同样还有其他quantifiers: -

  • *以匹配0 or more
  • ?以匹配0 or 1