各位朋友,我想在获取的网页源文件中提取以下内容
<input type="hidden" name="idString" value="******">
其他的都是固定的 星号部分就是我想得到的东西
Regex Re = new Regex("value=\"(.*?)\"", RegexOptions.IgnoreCase);
MatchCollection Mc = Re.Matches(dsdsd);这样写把整个页面的value都取到了  但是我就想上面这个name="idString"的value
谢谢各位

解决方案 »

  1.   

    Regex Re = new Regex("name=\"idString\" value=\"(.*?)\"", RegexOptions.IgnoreCase);
      

  2.   

    如果name和value的顺序和位置不固定的话,还是要用到环视Regex reg = new Regex(@"(?i)<input(?=[^>]*?name=""idString"")[^>]*?value=""([^""]*)""");
    MatchCollection mc = reg.Matches(yourStr);
    foreach (Match m in mc)
    {
        richTextBox2.Text += m.Groups[1].Value;
    }
      

  3.   

    还需要考虑一下情况
    1,value在name前面
    2,使用''来括起属性
    3,属性值不使用""/''括起来。
    以上情况都是合理的html格式。
      

  4.   

    (?is)<input((?<type>type="(?<type_value>[^"]+)")|(?<value>value="(?<value_value>[^"]+)")|(?<name>name="(?<name_value>[^"]+)")|\s)*>如果你需要,分别取以下分组:
    type
    type_value
    value
    value_value
    name
    name_value
      

  5.   

    这个没有成功  兄弟 谢谢你的建议  但是我说了  我只要<input type="hidden" name="idString" value="******">  name=“idstring”这个input的值  在我要分析的网页源文件中是唯一的  只有这一个name是idstring
      

  6.   

    这个基本能行  但是取到的是整个<input type="hidden" name="idString" value="******"> 我只要value  请教  谢谢
      

  7.   

    看错了。原来过客兄后面没有楼主回复,我没仔细看,以为需求变了呢。那过客兄的就最符合了。但是,你说不能匹配,我还是贴给你例子好了,只说明可以匹配,但和题目无关。
    static void Main(string[] args)
    {
        string html = @"<input type=""hidden"" name=""idString"" value=""******"">";
        Match m = Regex.Match(html, @"(?is)<input((?<type>type=""(?<type_value>[^""]+)"")|(?<value>value=""(?<value_value>[^""]+)"")|(?<name>name=""(?<name_value>[^""]+)"")|\s)*>");
        if (m.Success)
        {
            Console.WriteLine(m.Groups["type"].Value);
            Console.WriteLine(m.Groups["type_value"].Value);
            Console.WriteLine(m.Groups["value"].Value);
            Console.WriteLine(m.Groups["value_value"].Value);
            Console.WriteLine(m.Groups["name"].Value);
            Console.WriteLine(m.Groups["name_value"].Value);
        }
        Console.ReadKey();
    }
      

  8.   

    固定id的valuestatic void Main(string[] args)
    {
        string html = @"<input type=""hidden"" name=""idString"" value=""******"">";
        string value = Regex.Match(html, @"(?<=(?<=<input.+?name=""idString"".*?)value="")[^""]+").Value;
        Console.WriteLine(value);
        Console.ReadKey();
    }
      

  9.   

    这样可以调整value的顺序\
    static void Main(string[] args)
    {
        string html = @"<input type=""hidden"" name=""idString"" value=""******"">";
        string value = Regex.Match(html, @"<input(?: value=""(?<value>[^""]+)| name=""idString""|[^>])+").Groups["value"].Value;
        Console.WriteLine(value);
        Console.ReadKey();
    }
      

  10.   


    兄弟不好意思  我搞错了  这样可以
    但是怎么才可以得到idString这个input标签的value呢?