使用JAVA进行正则表达式过滤

时间:2018-01-14 12:58:37

标签: java regex

如何在JAVA中使用正则表达式获取paranthesis之间的字符串? 例如:如果我有一个字符串abc(de)gh 然后我想要“de”Substing。

2 个答案:

答案 0 :(得分:1)

正则表达式\((?<TEXT>[^()]+)\)(?<=\()[^()]+(?=\))

<强>详情:

\(匹配字符(

(?<TEXT>)命名为Capture Group TEXT

[^()]+匹配列表中不存在的单个字符

+在一次和无限次之间匹配

\)匹配角色)

Regex demo

答案 1 :(得分:0)

试试这个

public void test1() {

    String str = "abc(de)gh(il)jk";
    String regex = "\\((.*?)\\)";
    Pattern pattern = Pattern.compile(regex);
    Matcher matcher = pattern.matcher(str);

    while (matcher.find()) {
        System.out.println(matcher.group(1)); 
    }

}