0

需要提取括号之间的内容 for (20)- 应该返回20 for ("creamy")- 应该返回creamy

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

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

2 回答 2

1

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

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

打印出来

cream
于 2013-03-06T10:16:40.437 回答
0

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

String matched = "";
Pattern pattern = Pattern.compile("\\((.*?)\\)");
Matcher matcher = pattern.matcher("(20)");
if (matcher.find()) {
   matched = matcher.group(1);
}
System.out.println(matched);
于 2013-03-06T10:13:27.483 回答