求一个比较难的正则

silinee 2012-05-11 01:14:04
原来发在别的版,没人回复,转到这里来,请指教

功能:希望把字符串中单独的</a>都找出来。

单独的</a>描述如下:
1、非完整的文字链或图片链接如"<div>文字</a>"和"<div><img src='xxx'></a>"
2、如果两个<a>、</a>标记之间包含非<img>和<br>的一切html标签,则<a>和</a>都判断为独立

字符串示例如下:
str = "文字<a>文字</a>文字</a>文字<a>文字<div>文字</a><a><img src='xxx'></div>文字<img src='xxx'>文字</a><a><img src='xxx'>文字</a>"

我自己写了一个比较繁琐的,字符串大的时候比较耗费时间,抛砖引玉一下:
var re = /(<(?:(?:(?!\b(?:a|img|br)\b)[^<>])+|\/\ba\b)>)((?:(?!<[\/]?[a-zA-Z]+[^<>]*>).)*?(?:<(?:img|br)[^<>]*>)?(?:(?!<[\/]?[a-zA-Z]+[^<>]*>).)*?<\/a>)/ig

得到的效果是:
1、</a>文字</a>
2、<div>文字</a>
3、</div>文字<img src='xxx'>文字</a>

原帖地址:http://topic.csdn.net/u/20120510/16/c235a6cb-f897-4499-9c9c-73479d2c2f5b.html,得到满意的答案后一块结贴给提供答案或思路的人
...全文
52 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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