请教这样的代码,正则表达式如何发挥威力啊?

jiangren888 2005-12-25 02:18:01
以下代码我想用正则表达式去掉表格代码,不含图片的表格想去掉,里面含有图片的表格想留下来,正则表达式如何写呢?向大家请教,万分感谢
<table width="100%" height="192" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>a</td>
<td>b</td>
<td>c<img src=a.jpg></td>
<td>d</td>
<td>e</td>
<td>f</td>
</tr>
</table>
<table width="100%" height="90" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>d</td>
<td>e</td>
<td>f</td>
</tr>
</table>
...全文
155 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
GDPudding 2006-05-15
  • 打赏
  • 举报
回复
果然不给分......
GDPudding 2006-05-10
  • 打赏
  • 举报
回复
这是javascript的,lz要用asp的话自己转化过去

以下是html下的测试代码



<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>我晕的测试正则</title>
</head>
<script language="javascript">
function change()
{
var text=document.getElementById("a").value;
var pattern=/<table(?:[^>][\s\S])*>(?:(?!<img)[\s\S])*<\/table(?:[^<]\s)*>/g;//只要对比一次
var text2=text.replace(pattern,"");

document.getElementById("a").value=text2;
}
</script>
<textarea name="a" cols="100" rows="25" id="a"></textarea>
<input type="button" name="Submit" value="替换" onClick="change()" />

</body>
</html>


所用到的正则式

/<table(?:[^>][\s\S])*>(?:(?!<img)[\s\S])*<\/table(?:[^<]\s)*>/g

重点:(?!pattern) //负向预查
helloha2013 2006-05-09
  • 打赏
  • 举报
回复
居然不给分,太不爽了。连我多看不下去了!!!!!
patchclass 2005-12-26
  • 打赏
  • 举报
回复
才发现只有30分,楼主不能给多点啊,郁闷一把,不玩了
patchclass 2005-12-26
  • 打赏
  • 举报
回复
突然来了兴趣,写了40分钟呢,嗨,测试通过
<script language="JavaScript">
<!--
function cls()
{
var s="";
re=/(<table[^>]*?>[\s\S]*?<\/table>)/igm;
var arr;
while ((arr = re.exec(aa.value)) != null)
{
//
tmp = RegExp.$1;
alert(tmp)
if ( tmp.match(/<img[^>]*?>/)!=null)
{
s += tmp;
}
}
bb.value=s;
}
//-->
</script>
</head>

<body>
<textarea name="aa" rows="10" cols="100">
<table width="100%" height="90" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>d</td>
<td>e</td>
<td>f</td>
</tr>
</table>
<table width="100%" height="90" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>d</td>
<td>e</td>
<td>f</td>
</tr>
</table>
<table width="100%" height="192" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>a</td>
<td>b</td>
<td>c<img src=a.jpg></td>
<td>d</td>
<td>e</td>
<td>f</td>
</tr>
</table>
<table width="100%" height="90" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>d</td>
<td>e</td>
<td>f</td>
</tr>
</table>
<table width="100%" height="90" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>d</td>
<td>e</td>
<td>f</td>
</tr>
</table>
<table width="100%" height="192" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>a</td>
<td>b</td>
<td>c<img src=a.jpg></td>
<td>d</td>
<td>e</td>
<td>f</td>
</tr>
</table>
</textarea>
<textarea name="bb" rows="10" cols="100"></textarea><input type="button" value="hhh" onclick="cls();">
</body>
mtide 2005-12-25
  • 打赏
  • 举报
回复
<table(任何字符)>(任何字符)<img(任何字符)</table>
超级大笨狼 2005-12-25
  • 打赏
  • 举报
回复
同意新郎官liuxiaoyi666(MSMVP小猪妹马甲之八卦兔子) 的话
  • 打赏
  • 举报
回复
一定用正则么??如果用dom的话很简单的

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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