需要在括号中提取内容
对于(20)
- 应该返回20
对于("creamy")
- 应该返回creamy
我尝试使用下面的模式匹配器但是没有用。有人可以帮忙吗?
Pattern pattern = Pattern.compile("\\((.*?)\\)");
答案 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);