此字符串的正则表达式以提取值

时间:2011-04-27 10:33:01

标签: c# java html regex

 <input > [ <input type="hidden" value="263" />First Name] [kdkgh[ <br /> <input 567> ag [<input type="hidden" value="264" />Last Name] dg input value="345"

我希望使用正则表达式在第263 First Name[]以及264内找到值Last Name[] ,这个发现的正则表达式是什么?

由于

3 个答案:

答案 0 :(得分:1)

        const string TestData =
            " <input > [ <input type=\"hidden\" value=\"263\" />First Name] [kdkgh[ <br /> <input 567> ag [<input type=\"hidden\" value=\"264\" />Last Name] dg input value=\"345\" ";
        var r = new Regex(@"\[\s*<input type=""hidden"" value=""([^\]]+)"" />([^\]]+)\]");
        var matches = r.Matches(TestData);
        Console.WriteLine("{0}, {1}", matches[0].Groups[1].Value, matches[0].Groups[2].Value);
        Console.WriteLine("{0}, {1}", matches[1].Groups[1].Value, matches[1].Groups[2].Value);

你可以尝试类似的东西虽然如果在其他地方有空格或者你的字符串值包含“]”

它会失败

答案 1 :(得分:0)

该标记看起来很疯狂,但这会找到你所追求的匹配:

\[.+?value="(\d+)"\s/>([^]]+)]

答案 2 :(得分:0)

我认为你不应该这样做(见你的评论)。但尝试类似......

<input type="hidden" value="(.*?)" \/>(.*?)\]

Example here