求一正则

c02645 2012-08-01 11:10:21
js替换,原来是所有的js都替换掉了
str = str.replace(/<script[^\>]*?>([^\x00]*?)<\/script>/ig, '');

现在想改成,只要是<script src='http://www.abc.com......'> 只要是含有www.abc.com的连接的都保留,其它的去掉,请问怎么实现
...全文
84 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

str = str.replace(/<script((?!www\.abc\.com)[^>])*?>[^<]*?<\/script>/ig, '');

q107770540 2012-08-01
  • 打赏
  • 举报
回复
str = str.replace(/<script[^\>]*?>([^\x00]*?)<\/script>/ig, function(v)
{
if(v.indexof('www.abc.com')>0) return v;
else return '';
});


C#可直接通过正则来实现:

<script[^>]*?src='(?!http://www\.abc\.com[^']+)[^']+'[^>]*?>

可惜JS正则不支持零宽度负预测先行断言
q107770540 2012-08-01
  • 打赏
  • 举报
回复
str = str.replace(/<script[^\>]*?>([^\x00]*?)<\/script>/ig, function(v)
{
if(v.Contains('www.abc.com')) return v;
else return '';
});


C#可直接通过正则来实现:

<script[^>]*?src='(?!http://www\.abc\.com[^']+)[^']+'[^>]*?>

可惜JS正则不支持零宽度负预测先行断言

111,092

社区成员

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

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

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