正则表达式 匹配小括号中的内容 包括括号和不包括括号

字符串举例:  

床单(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());
        }
    }

 

posted @ 2022-03-04 18:04  loveCrane  阅读(4710)  评论(0编辑  收藏  举报