已知ID值怎么用正则表达式获取HTML该已知ID值的所属字符串
HTML:
<td>
<ST:TextBox id="C_1_23_1_1170_2_t" style="width:160px;height:25px;" src="Control/TextBox.gif" runat="server" format="string" tooltip="计划投资" fontstyle="" /></ST:TextBox>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
上传附件
</td>
<td colspan="3">
<ST:MUpload id="C_1170_1_mff" style="width:222px;height:50px;" src="Control/MUpload.gif" runat="server" format="string" tooltip="上传附件" fontstyle="" /></ST:MUpload>
</td>
需要实现:
已知ID值怎么用正则表达式获取HTML该已知ID值的所属字符串
已知id:
C_1_23_1_1170_2_t
C_1170_1_mff
怎么通过其中一个已知的id值得到所需要的上面html中绿色的部分
比如我想通过C_1170_1_mff得到
<ST:MUpload id="C_1170_1_mff" style="width:222px;height:50px;" src="Control/MUpload.gif" runat="server" format="string" tooltip="上传附件" fontstyle="" /></ST:MUpload>
或
我想通过C_1_23_1_1170_2_t得到
<ST:TextBox id="C_1_23_1_1170_2_t" style="width:160px;height:25px;" src="Control/TextBox.gif" runat="server" format="string" tooltip="计划投资" fontstyle="" /></ST:TextBox>
这些控件都是有id的,用已知id进行匹配,然后获取到<ST开头 </ST:...>结尾的整串字符串------解决方案-------------------- string sInput = File.ReadAllText(@"C:\Users\myx\Desktop\Test.txt", Encoding.GetEncoding("GB2312"));
string id = "C_1_23_1_1170_2_t";
Match m = Regex.Match(sInput, string.Format(@"(?i)<(\S+)[^>]*?id=(['""]?){0}\2[^>]*?></\1>", id));
string value = m.Value;
/*
<ST:TextBox id=\"C_1_23_1_1170_2_t\" style=\"width:160px;height:25px;\" src=\"Control/TextBox.gif\" runat=\"server\" format=\"string\" tooltip=\"计划投资\" fontstyle=\"\" /></ST:TextBox>
*/
------解决方案--------------------<[^>]+?id="C_1170_1_mff"[^>]+?><[^>]+?>