假設我需要匹配包含空格的圓括號。Java的掃描儀。如何匹配空白?
這裏是一個片段:
String input = "() () ()";
Pattern pattern = Pattern.compile("\\(\\s\\)");
Scanner scanner = new Scanner(input);
scanner.useDelimiter("\\n");
Matcher matcher = pattern.matcher(input);
System.out.println(scanner.hasNext(pattern)); // false
System.out.println(matcher.find()); // true
System.out.println(matcher.start(0) + " " + matcher.end(0)); // 0 3
匹配器不正是我需要的,但掃描儀不。
這個問題沒有被正確的問到。我的目的是用掃描器順序地抓取所有()令牌,因爲匹配器似乎對於這樣的任務有不方便的API。 我應該仔細閱讀文檔。
我需要的方法是:
scanner.findInLine(pattern);
[Java,正則表達式捕獲字符串與空白]的可能的副本(http://stackoverflow.com/questions/13313493/java-regular-expression-catching-string-with-white-space) – guerda 2013-03-06 15:22:19
小記事:如果您想使用新行作爲分隔符,請不要使用\\ n,而應該使用\ n或者更好的System.getProperty(「line.separator」)結果。 – Pshemo 2013-03-06 15:30:30
身體似乎不清楚支持標題。問題究竟是什麼? – 2013-03-06 15:38:54