2011-04-27 90 views
0
<input > [ <input type="hidden" value="263" />First Name] [kdkgh[ <br /> <input 567> ag [<input type="hidden" value="264" />Last Name] dg input value="345" 

我想找到使用正则表达式从第二[][]264Last Name里面的值263First Name,这将是该调查结果的正则表达式?正则表达式来提取值

感谢

+0

这是什么不同寻常的标记的来源是什么?这是有效的HTML吗? – 2011-04-27 10:37:31

+0

这行是匹配器*完整*输入的一个例子,还是只是一个较小的部分?如果答案是c#或java,真的不在乎吗? – 2011-04-27 10:41:07

+0

它是html标记的一部分,它会自动生成,我必须在这里检索值和名称,例如“ First Name]”的值是:263和名字是:名字 – fean 2011-04-27 10:42:38

回答

0

我不认为你应该这样做(请参阅您的意见)。但是试着这么做...

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

Example here

0

该标记看起来很疯狂,但是这会发现你的比赛后:

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

谢谢,我找到了一些麻烦......但尝试以这种方式 – fean 2011-04-27 11:17:32

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); 

你可以尝试类似的东西,但如果有空间的地方它会失败否则或如果您的字符串值包含“]”