有很多这样的字符串如:
LDAP://192.192.192.192/CN=test3,OU=testOU,DC=testDcc,DC=com
LDAP://www.csdn.net/CN=test333,OU=testOU,DC=testDcc,DC=com
LDAP://www.csdn.net:88888888/CN=test310254,OU=testOU,DC=testDcc,DC=com
。。只取红色部分? 正则,谢谢

解决方案 »

  1.   

    错了,"cn=([^,]*?)",取Groups[1].value
      

  2.   

    哦,不好意思,补充下:
    可能还有这种情况的,串中有多个CN的,如:
    LDAP://www.csdn.net/CN=test333,CN=Users,OU=testOU,DC=testDcc,DC=com 
    LDAP://www.csdn.net/CN=test33333,CN=Computers,OU=testOU,DC=testDcc,DC=com 只取第一个'CN='后','号前的字符串。
      

  3.   

    using System.Text.RegularExpressions;// 正则表达式对象
    Regex re = new Regex(@"(?<=/cn=)[^,]*");// Match 对象
    Match m = re.Match("your string");// 是否找到
    if( m.Success )
    {
        // 找到
    }
    else
    {
        // 未找到
    }
      

  4.   


    若若的问一下,CN是不是都紧跟着www.csdn.net/后面?
      

  5.   

    第一个和后边的不同在于前边有个/,加上就好了(?i)(?<=/CN=)[^,]+
      

  6.   

    必须要用正则?简单易懂的.....split(',')[0].split('=')[1].
      

  7.   


    那这样应该就可以了(?i)(?<=/CN=)[^,]+
      

  8.   

    Regex reg = new Regex(@"(?i)(?<=/cn=).*?(?=,)");