匹配在特定模式后出现的字符串

时间:2018-11-01 20:17:41

标签: java regex string split

我想匹配在某种模式后出现的字符串,但是我无法提出正则表达式来做到这一点(我正在使用Java)。

例如,假设我有这个字符串,

caa,abb,ksmf,fsksf,fkfs,admkf

,我希望我的正则表达式仅匹配以abb为前缀的那些逗号。我怎么做?甚至可以使用正则表达式吗?

如果我使用正则表达式abb,,则它与整个字符串abb,匹配,但之后我只想匹配逗号。

之所以这样问,是因为我想在接受正则表达式的split方法中使用此正则表达式。如果我通过abb,作为正则表达式,它将认为字符串abb,是定界符而不是我想要的,

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

        String test = "caa,abb,ksmf,fsksf,fkfs,admkf";
        String regex = "(?<=abb),";
        String[] split = test.split(regex);
        for(String s : split){
            System.out.println(s);
        }

输出:
caa,abb
ksmf,fsksf,fkfs,admkf

有关信息,请参见此处:

https://www.regular-expressions.info/lookaround.html