2011-04-27 135 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); 

你可以嘗試類似的東西,但如果有空間的地方它會失敗否則或如果您的字符串值包含「]」