正则表达式如何截取指定的字符串 求大神,,,

qq_29066491 2015-07-15 04:54:07
string str=“<tr>
<td valign="top" id="tdLeft" style="width: 210px; height: 100%;" class="down_Menu">
<div id="indent">
<span class="indent_right"></span>
</div>
<iframe src="left.aspx" id="left" name="left" frameborder="0"
width="100%" height="100%" scrolling="auto"></iframe>
</td>
<td valign="top" style="width: 10px" class="down_Menu_btn">
<div id="down_Menu_up"></div>
<div class="useicon03" id="divBar" style="float: left; cursor: pointer;" onclick="javascript:SwitchLeft();">
</div>
</td>
<td valign="top" style="height: 100%;">
<iframe src="<%=Url %>"
id="Resource" name="Book" frameborder="0" width="100%" height="100%" scrolling="auto"></iframe>
</td>
</tr>”;
这样一个字符串 我想截取第二个iframe的src,就是红色部分 其他都不要 如何用正则表达式截取 求教....
...全文
1105 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
匹配出所有的iframe的src,然后你只取第二个不就行了?
  • 打赏
  • 举报
回复
其实用XPath更简单,效率可能更好 var xml = XmlDocument.LoadXml(str); var nodes = xml.SelectNodes("//td/iframe"); if(nodes.Count > 1) { nodes[1].Attribute["src"].Value }
  • 打赏
  • 举报
回复
简单点你可以取第二个匹配,或者找出两个iframe不同的地方(包括其父子节点之间的不同) var matches = Regex.Matches(str, "(?is)<iframe[^>]+src=(['\"])([^'\"]+)(\\1)[^>]*>"); if(matches.Length > 1) { 取matches[1].Groups[2].Value就是第二个的src }
runerback 2015-07-15
  • 打赏
  • 举报
回复
然并卵。 赐你一个回复3次的机会
qq_29066491 2015-07-15
  • 打赏
  • 举报
回复
qq_29066491 2015-07-15
  • 打赏
  • 举报
回复
为什么没有人 = =
qq_29066491 2015-07-15
  • 打赏
  • 举报
回复
人呢

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧