none
正则表达式分组? RRS feed

  • 问题

  •  正则表达式:<OPTION\s+value=(\w*)>(.*)</OPTION>|<option\s+value=(\w*)>(.*)</option>


    要匹配的内容:<OPTION value=1014>Service</OPTION>
                     <option value=100906>Vehicle Lock</option>


    结果:<OPTION value=1014>Service</OPTION>
            1014
            Service
            空白?
            空白?
           <option value=100906>Vehicle Lock</option>
            100906
            Vehicle Lock
            空白?
            空白?
    为什么出现这样的结果?我希望出现下面的结果:
    <option value=100906>Vehicle Lock</option>
            100906
            Vehicle Lock
    <OPTION value=1014>Service</OPTION>
            1014
            Service
    2010年1月15日 2:38

答案

  • 你设置忽略大小写就得到你希望的结果    
      string s = @"<option value=100906>Vehicle Lock</option>";
                System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex(@"<option\s+value=(\w*)>(.*)</option>", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                if (r.IsMatch(s))
                {

                Response.Write(r.Match(s).Groups[0].Value);
               
                    Response.Write(r.Match(s).Groups[1].Value);
                }

    2010年1月15日 3:55