求一正则表达式

luoqing 2005-03-08 04:57:21
<table border="1" width="100%">
<tr>
<td> </td>
<td> </td>
</tr>
</table>
<table border="1" width="100%">
<tr>
<td><INPUT id="abc"></td>
<td> </td>
<td> </td>
</tr>
</table>
我怎样写一个正则表达式,只取这一部份的内容,即<INPUT id="abc">所在的表
<table border="1" width="100%">
<tr>
<td><INPUT id="abc"></td>
<td> </td>
<td> </td>
</tr>
</table>
...全文
175 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
duxinrun 2005-03-08
  • 打赏
  • 举报
回复
这么整齐的结构阿,用XML的XPath搜索节点就可以了阿
landlordh 2005-03-08
  • 打赏
  • 举报
回复
eg.

<table.*?>\s+<tr>\s+<td>\s*<INPUT\s+id="abc">\s*</td>(\s+.*?)*</tr>\s+</table>
hedonister 2005-03-08
  • 打赏
  • 举报
回复
呵呵,想法不错
老鹰40 2005-03-08
  • 打赏
  • 举报
回复
learning...
dazhu2 2005-03-08
  • 打赏
  • 举报
回复
//正则表达式
string s_reg="<table .*>\\s{0,}(<tr>\\s{0,}<td><INPUT id=\"abc\"></td>(\\s{0,}<td>[\\w\\s<>]*</td>\\s{0,})+</tr>)+\\s{0,}</table>";
MatchCollection my=Regex.Matches(box.Trim(),s_reg,RegexOptions.Multiline®exOptions.IgnoreCase);
for(int i=0;i<my.Count;i++)
{
this.richTextBox2.AppendText(my[i].ToString()+"\r\n");

}
xjpeng 2005-03-08
  • 打赏
  • 举报
回复
肯定不行,*不包含换行符
luoqing 2005-03-08
  • 打赏
  • 举报
回复
@"^<table[^(table)]*<INPUT id=\"abc\">\w*</table>$"
这个正则表达式不行
web_gus 2005-03-08
  • 打赏
  • 举报
回复
up
nontrick 2005-03-08
  • 打赏
  • 举报
回复
@"^<table[^(table)]*<INPUT id=\"abc\">\w*</table>$"
zr1982930 2005-03-08
  • 打赏
  • 举报
回复
我顶!
xjpeng 2005-03-08
  • 打赏
  • 举报
回复
偷懒的做法:可以先将整个字符串按"</table>" Split成数组,然后在每个元素中匹配,这个表达式就简单了,用IndexOf都可以解决了
singleflower 2005-03-08
  • 打赏
  • 举报
回复
关注

111,098

社区成员

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

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

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