了了与奇奇 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]

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

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器