2013-03-06 51 views
0

之間抽取內容匹配需要提取括號 爲(20)之間的內容 - 應該返回20("creamy") - 應該返回creamyJava的模式括號

我試着用下面的模式匹配,但沒有奏效。有人可以幫忙嗎?

Pattern pattern = Pattern.compile("\\((.*?)\\)"); 

回答

0

嘗試在java中使用正則表達式。查看下面的代碼片段。

String matched = ""; 
Pattern pattern = Pattern.compile("\\((.*?)\\)"); 
Matcher matcher = pattern.matcher("(20)"); 
if (matcher.find()) { 
    matched = matcher.group(1); 
} 
System.out.println(matched); 
1

您是否遇到單個\的編譯器錯誤?對於在Java編譯,你需要轉義反斜線,否則編譯器將嘗試查找特殊字符(所以它應該是:

Pattern pattern = Pattern.compile("\\((.*?)\\)"); 
Matcher match = pattern.matcher("(cream)"); 
match.find(); 
System.out.println(match.group(1)); 

打印出

cream 
+0

太感謝你了它的工作原理 – user1044173 2013-03-06 10:49:39

相關問題