同时匹配/bbbccc/admin/或/bbbccc/admin这两个字符串,并将后面这个admin提取出来的正则表达式怎么写?注意admin是变化的,可能是user等字符串。字符串:
1. /bbbccc/admin/
2. /bbbccc/admin问题:
1.同时匹配这两个字符串中的所有字符;
2.将admin提取出来;
3.这个表达式只能写成一行,也就是只能通过一次性解决。谢谢。

解决方案 »

  1.   

    /(bbbccc\/)(.*?)/
    我试图这样写是不行的。
      

  2.   

    string[] slist = {"/bbbccc/admin/","/bbbccc/admin","abc/bbbccc/user"};

    Regex re = new Regex(@"^/bbbccc/([^/]+)/?$", RegexOptions.IgnoreCase|RegexOptions.Compiled);
    foreach (string s in slist)
    {
    Match m = re.Match(s);
    if (m.Success)
    Console.WriteLine("{0}=>{1}",s,m.Groups[1].Value);
    }
      

  3.   

    正则要这样写:(?<=/bbbccc/).*?(?=/)?\b
      

  4.   

    试了半天,结果是错误的。
    帮忙看看,匹配以下各项。
    1. /bbbccc/admin
    2. /bbbccc/admin/
    3. /bbbccc/admin/default.aspx
    4. /bbbccc/admin/index.aspx
      

  5.   

    看看正确结果吧,楼主
    string ResultString = null;
    try {
    ResultString = Regex.Match(SubjectString, "(?<=/bbbccc/).+?((?=[|/]))?\\b").Value;
    } catch (ArgumentException ex) {
    // Syntax error in the regular expression
    }
      

  6.   

    试了半天,结果还是错误的。
    帮忙看看,匹配以下各项。
    1. /bbbccc/admin
    2. /bbbccc/admin/
    3. /bbbccc/admin/default.aspx
    4. /bbbccc/admin/index.aspx
    但是不匹配其它项,比如:
    1. /bbbccc/admin/my.aspx
    2. /bbbccc/admin/for.aspx
      

  7.   

    (?<=/bbbccc/).+?((?=[|/]))?\b
    测试通过可以得到
    1. /bbbccc/admin
    2. /bbbccc/admin/
    3. /bbbccc/admin/default.aspx
    4. /bbbccc/admin/index.aspx
    1. /bbbccc/admin/my.aspx
    2. /bbbccc/admin/for.aspx
    中的admin
      

  8.   

    我的意思是,这个表达式要匹配下面以外的所有,
    1. /bbbccc/admin
    2. /bbbccc/admin/
    3. /bbbccc/admin/default.aspx
    4. /bbbccc/admin/index.aspx
    而不要匹配下面的所有,等等等:
    1. /bbbccc/admin/my.aspx
    2. /bbbccc/admin/for.aspx
    ……
      

  9.   

    (?<=/bbbccc/)[^/]+?(?=(\b$|/$|/default.aspx|/index.aspx))刚才没有弄清楚楼主的意思,实施这个吧.
      

  10.   

    (?<=/bbbccc/)[^/]+?(?=(\b$|/$|/default.aspx$|/index.aspx$))修改一下,这下应该正确.
      

  11.   

    linuxyf(率人哥哥),我的QQ号,9684040。请加我一下。
    在(?<=/bbbccc/)[^/……中,能不能不要加“?<=”应该怎么写?因为我有特殊用途。
      

  12.   

    你好,我没有QQ,我只有msn,[email protected],下午2点上线如果要以/bbbccc/字符串开头,这个必须加。
    (?<=regex)这是个定式,就是匹配以regex开头的