Java模式匹配提取括号内的内容

时间:2013-03-06 10:08:48

标签: java regex

需要在括号中提取内容 对于(20) - 应该返回20 对于("creamy") - 应该返回creamy

我尝试使用下面的模式匹配器但是没有用。有人可以帮忙吗?

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

2 个答案:

答案 0 :(得分:1)

您是否在单个\上遇到编译器错误?为了在Java中编译,你需要转义反斜杠,否则编译器会尝试找到特殊字符(。所以它应该是:

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

打印出来

cream

答案 1 :(得分:0)

尝试在java中使用正则表达式。请参阅下面的代码段。

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