字符串舉例:
床單(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());
}
}