2012-10-16 55 views
0

我:java的模式匹配insenitive爲空格

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

與匹配:

1 2 1 

但不適用於:

1  2  1 

我怎樣才能實現,這種模式匹配根據數字之間的空格是不是相當的?

+2

對多個空格使用'\ s +'。 – RanRag

回答

5

使用\s爲一個空格,並添加一個+,這意味着一個或多個空格。

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

如果你想零個或多個空格,你必須使用一個*代替+

+0

正常工作... thx快速幫助 – MindlessMaik

1

使用quantifier (+)與空間,以配合one or more空間: -

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

同樣還有其他quantifiers: -

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