正则表达式 匹配小括号中的内容 包括括号和不包括括号
字符串举例:
床单(30%棉混纺布)勺子(40%铁)碗(99%陶)
期望值:
30%棉混纺布 40%铁 99%陶
使用表达式:
(\([^\)]*\))
结果:
(30%棉混纺布)
(40%铁)
(99%陶)
(?<=\()(.+?)(?=\))
结果:
30%棉混纺布
40%铁
99%陶
(?<=\()\S+(?=\))
结果:
30%棉混纺布)勺子(40%铁)碗(99%陶
代码:
/**
* 匹配多个括号 包含括号
*/
private static Pattern EN_BRACKETS = Pattern.compile("(\\([^\\)]*\\))");
/**
* 匹配多个括号 不包含括号
*/
private static Pattern EN_BRACKETS_1 = Pattern.compile("(?<=\\()(.+?)(?=\\))");
/**
* 匹配括号
*/
private static Pattern EN_BRACKETS_2 = Pattern.compile("(?<=\\()\\S+(?=\\))");
public static void main(String[] args) {
String test = "床单(30%棉混纺布)勺子(40%铁)碗(99%陶)";
Matcher matcher = EN_BRACKETS.matcher(test);
while (matcher.find()){
System.out.println(matcher.group());
}
}