200分求一正则表达式

yuxh81 2013-07-11 10:28:04
<aml:annotation aml:id="0" w:type="Word.Bookmark.Start" w:name="Remark"/><aml:annotation aml:id="0" w:type="Word.Bookmark.End"/>

用正则匹配以上内容:

注意:
1:可以忽略属性 aml:id="0"
2:两个节点中间可能存在内容,需考虑

谢谢!
...全文
152 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuxh81 2013-07-12
  • 打赏
  • 举报
回复
非常感谢谢!
  • 打赏
  • 举报
回复
s=s.replace(/<aml:annotation[^>]+?Word.Bookmark.Start[^>]+?w:name="Remark"[\s\S]+?Word.Bookmark.End[^>]+>/gi,'')
yuxh81 2013-07-11
  • 打赏
  • 举报
回复
是不是没有考虑 w:name 啊 我可能需要以name作为筛选条件
  • 打赏
  • 举报
回复
替换将mc=。。那句改成
s=s.replace(/<aml:annotation[^>]+?Word.Bookmark.Start[\s\S]+?Word.Bookmark.End[^>]+>/gi,'')

alert(s)
  • 打赏
  • 举报
回复
大概看明白你的要求了。。 重新来
var s='外面的内容<aml:annotation aml:id="0" w:type="Word.Bookmark.Start" w:name="Remark"/>'
      +'第一组中间内容中间内<a href="http://bbs.csdn.net><b>csdn</b></a>容中间内容<aml:annotation aml:id="0" w:type="Word.Bookmark.End"/>里面的内容'
      +'外面的内容<aml:annotation aml:id="0" w:type="Word.Bookmark.Start" w:name="Remark"/>'
      +'第二组中间内容中间内<a href="http://bbs.csdn.net><b>csdn</b></a>容中间内容<aml:annotation aml:id="0" w:type="Word.Bookmark.End"/>里面的内容'

var mc=s.match(/<aml:annotation[^>]+?Word.Bookmark.Start[\s\S]+?Word.Bookmark.End[^>]+>/gi)

alert(mc.join('\n\n\n\n'))
yuxh81 2013-07-11
  • 打赏
  • 举报
回复
我要替换符合条件的, 这整个字符串 以<aml:annotation w:type="Word.Bookmark.Start" w:name="Remark" 开始, 以<aml:annotation w:type="Word.Bookmark.End" 结束, 两节点中间可能有内容, 同时w:name可能不是Remark
  • 打赏
  • 举报
回复
匹配简单,问题是你要获取什么内容?? /<aml[^>]+>/gi 这样就可以提取<aml这种标签了【属性里面不能有>,如果有>正则不好写。。~】

87,996

社区成员

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

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