需要提取括号之间的内容 for (20)
- 应该返回20
for ("creamy")
- 应该返回creamy
我尝试使用下面的模式匹配器,但没有奏效。有人可以帮忙吗?
Pattern pattern = Pattern.compile("\\((.*?)\\)");
您是否在单个 \ 上遇到编译器错误?为了在 Java 中编译,您需要转义反斜杠,否则编译器会尝试找到特殊字符 (。所以它应该是:
Pattern pattern = Pattern.compile("\\((.*?)\\)");
Matcher match = pattern.matcher("(cream)");
match.find();
System.out.println(match.group(1));
打印出来
cream
尝试在java中使用正则表达式。请参阅下面的代码片段。
String matched = "";
Pattern pattern = Pattern.compile("\\((.*?)\\)");
Matcher matcher = pattern.matcher("(20)");
if (matcher.find()) {
matched = matcher.group(1);
}
System.out.println(matched);