了了与奇奇 2010-12-13 11:19 采纳率: 100%
浏览 207
已采纳

求一正则表达式

我有一个这样的应用,要求使用Java正则表达式提取指定字符串的内容,比如:
对于该字符串:“CN=abc,CN=123,SN=afkwe,SN=fkds,SN=abee,DN=allsss”如果要提取CN内容则需要输出abc和123,如果提取SN内容则需要提取出fkds,abee和afwe三个字符串内容。目前我可以提取其中一个,代码如下,请各位帮我看看有没有提取所有字段内容的办法?

[code="java"]
Pattern p = Pattern.compile("sn\s*=(\s*[^,]+)",Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(dn);
if(m.find()){
return m.group(1).trim();
}else{
return null;
}
[/code]

  • 写回答

1条回答 默认 最新

  • OPPPPOP 2010-12-13 11:27
    关注

    [code="java"]Pattern p = Pattern.compile("sn\s*=(\s*[^,]+)",Pattern.CASE_INSENSITIVE);

    Matcher m = p.matcher(dn);

    String s="";
    while(m.find()){

    s+=m.group(1).trim()+",";

    }
    return s;

    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?