我有:
Pattern pat = Pattern.compile("(\\d+) (\\d+) (1$)");
Matcher mat = pat.matcher(line);
匹配:
1 2 1
但不适用于:
1 2 1
我怎样才能实现,模式匹配根据数字之间的空格是不切实际的?
答案 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