2012-08-22 112 views

回答

2
String s = "ERR|appLogger|[Manager|Request]RequestFailed[com.package.file]uploading[com.file]"; 
Pattern pattern = Pattern.compile("\\[([A-Za-z0-9.]+)\\]"); 
Matcher m = pattern.matcher(s); 
if (m.find()) { 
    System.out.println(m.group(1)); // com.package.file 
} 
+0

这解决了我的问题。但我想改变,现在我得到的方括号also.I要提取文本,不需要外广场brackets.that意味着我需要“融为一体。 package.file“而不是”[com.package.file]“ – RP89

+0

@RemyaPoulose:将括号拉到捕获组”\\ [([A-Za-z0-9。+])\\]'外面。 –

0

中的东西的行提取“com.package.file”:

^\w+\|\w+\|\[\w+\|\w+\]\w+\[([\w\.]+)\]\w+\[[\w\.\_]+\]$ 

将允许您拍摄。

Pattern pattern = Pattern.compile("^\\w+\\|\\w+\\|\\[\\w+\\|\\w+\\]\\w+\\[([\\w\\.]+)\\]\\w+\\[[\\w\\.\\_]+\\]$", Pattern.CASE_INSENSITIVE); 
Matcher matcher = pattern.matcher("ERR|appLogger|[Manager|Request]RequestFailed[com.package.file]uploading[com.file_upload]"); 
System.out.println(matcher.group(1));