正则表达式:匹配不是超级链接和图片的所有内容

riancroaker 濮阳市通达网络技术服务有限公司 技术总监  2009-08-08 09:20:37
求一正则表达式
要求:匹配内容中不是超级链接(<a href="http://www.sohu.com"><font color=red><b>巴基斯坦</b></font></a>)和图片(<img alt="巴基斯坦" src="/Upfiles/巴基斯坦.jpg" />)标签的其他所有内容中的关键词

比如:我要匹配关键词:巴基斯坦

内容为:

<img alt="" src="/Upfiles/巴基斯坦.jpg" /><strong>两架携带导弹的直升asdfasdf机护卫记者座机</strong></p>
<p>  马哈苏德已被<a href="http://www.sohu.com"><font color=red><b>巴基斯坦</b></font></a>军队包围在南瓦济里斯坦地区的曼扎高地<span style="color: #ff6600">{dfdd},</span>这里是恐怖分子的天堂,也是美国情报部门认为的本·拉丹最可能的藏身处</p>
<p>  国际先驱导报驻巴基斯坦记者张宁报道 记者站

我只要匹配粗体字中的:巴基斯坦 超链和图片中出现的 巴基斯坦 不能匹配。

请正则表达式?
...全文
244 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
是要
function rekeyss(str,k)
Set re = New RegExp
re.IgnoreCase = True
re.Global = True
re.Pattern ="("& k &")(?![^<]*>)"
set Matches=re.Execute(str)
For Each Match in Matches
Sstr = Sstr & Match.Value
Next
rekeyss=Sstr
end function
response.Write rekeyss(str,"巴基斯坦")&"<br>"
这效果还是要
function rekeysss(str,restr)
Set re = New RegExp
re.Global = True
re.Pattern ="(?:<a[^>]*>)|(<\/a>)|(?:<img[^>]*>)"
str=re.Replace(str,restr)
rekeysss=str
end function
str="巴基斯坦<a href=""http://www.sohu.com""> <font color=red> <b>巴基斯坦 </b> </font> </a><img alt=""巴基斯坦"" src=""/Upfiles/巴基斯坦.jpg"" />"
response.Write rekeysss(str,,"")
这效果
第二种只是为了表示看你是不是要这效果,但不是根据关键字来选内容的
回复
cg2003 2009-08-09
UP
回复
(?!<a[^>]*>.+<\/a>)|(?!<img[^>]*>)
随手写没测试的
试下吧
回复
wcwtitxu 2009-08-08

regex.Pattern = "巴基斯坦(?![^<]*>)"
回复
riancroaker 2009-08-08
楼上的还像还是可以匹配超链和图片中的字符串。

我要的只是匹配不是超链和图片中的其他内容。
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2009-08-08 09:20
社区公告
暂无公告