两个文档: 
文档1:
<div class="related_info"><h2  >内容简介 &nbsp; &middot;&nbsp;&middot;&nbsp;&middot;&nbsp;&middot;&nbsp;&middot;&nbsp;&middot;&nbsp;
        </h2><div class="indent">  《平凡的世界》是一部现实主义小说,也是一部小说形式的家族史。作者浓缩了中国西北农村的历史变迁过程,在小说中全景式地表现了中国当代城乡的社会生活。在近十年的广阔背景下,通过复杂的矛盾纠葛,刻划社会各阶层众多普通人的形象。劳动与爱情,挫折与追求,痛苦与欢乐,日常生活与巨大社会冲突,纷繁地交织在一起,深刻地展示了普通人在大时代历史进程中所走过的艰难曲折的道路。<br/></div><h2  >作者简介 &nbsp; &middot;&nbsp;&middot;&nbsp;&middot;&nbsp;&middot;&nbsp;&middot;&nbsp;&middot;&nbsp;
        </h2><div class="indent">  路遥(1949年—1992年),
文档2:
 <div class="related_info"><h2  >内容简介 &nbsp; &middot;&nbsp;&middot;&nbsp;&middot;&nbsp;&middot;&nbsp;&middot;&nbsp;&middot;&nbsp;
        </h2><div class="indent"><span class="short">  新屍之氣化為陰摩羅鬼,<br/>  棲息於存在與非存在之間。<br/>  回首眺望,徒留黑鶴般的空虛不祥……<br/>  這世上沒有不可思議的事,<br/>  只存在可能存在之物,只發生可能發生之事。<br/>  故事大綱<br/>  聳立在白樺湖畔的豪華洋館─「鳥城」當家.由良昂允伯爵即將第五度迎娶新娘。<br/>  在這之前,他已經連續四次在初夜翌日清晨失去摯愛的新妻。<br/>  世人皆耳語:由良家遭詛咒了……<br/>  為避免事態重演,偵探.榎木津接受由良家請託,前往鳥城保護新娘,<br/>  小說家.關口陰錯陽差與偵探一同踏上旅程。<br/>  怎知,偵探一見鳥城眾人,便大喊:這裡面有殺人犯!<br/>  榎木津所言是否為真?<br/>  由良家的詛咒可會重現?<br/>  另一方面,遠在千里的東京……<br/>  前刑警.伊庭銀四郎曾經三度參與由良家新娘怪異死亡事件的調查。<br/>  一無所獲的調查在前刑警心中留下了雖然細微卻始終隱隱作痛的傷痕。<br/>  因緣際會之下,一席與古書肆.京極堂的長談解開了前刑警的心結,<br/>  同時也將兩人帶... <a href="javascript:void(0)" class="j a_show_full">(展开全部)</a></span> 
                    <span class="all hidden">  新屍之氣化為陰摩羅鬼,<br/>  棲息於存在與非存在之間。<br/>  回首眺望,徒留黑鶴般的空虛不祥……<br/>  這世上沒有不可思議的事,<br/>  只存在可能存在之物,只發生可能發生之事。<br/>  故事大綱<br/>  聳立在白樺湖畔的豪華洋館─「鳥城」當家.由良昂允伯爵即將第五度迎娶新娘。<br/>  在這之前,他已經連續四次在初夜翌日清晨失去摯愛的新妻。<br/>  世人皆耳語:由良家遭詛咒了……<br/>  為避免事態重演,偵探.榎木津接受由良家請託,前往鳥城保護新娘,<br/>  小說家.關口陰錯陽差與偵探一同踏上旅程。<br/>  怎知,偵探一見鳥城眾人,便大喊:這裡面有殺人犯!<br/>  榎木津所言是否為真?<br/>  由良家的詛咒可會重現?<br/>  另一方面,遠在千里的東京……<br/>  前刑警.伊庭銀四郎曾經三度參與由良家新娘怪異死亡事件的調查。<br/>  一無所獲的調查在前刑警心中留下了雖然細微卻始終隱隱作痛的傷痕。<br/>  因緣際會之下,一席與古書肆.京極堂的長談解開了前刑警的心結,<br/>  同時也將兩人帶往了偵探與小說家所在的鳥城……<br/>  鳥城裡究竟發生了什麼事?<br/>  由良家新娘怪異死亡事件,<br/>  是無心的偶然造成?亦或是有心人有意為之?</span>  
                    <br/></div><h2  >作者简介

怎么用同一个正则表达式分别匹配出两个文档中的内容简介部分的东西呢?
就是文档1匹配出:
《平凡的世界》是一部现实主义小说,也是一部小说形式的家族史。作者浓缩了中国西北农村的历史变迁过程,在小说中全景式地表现了中国当代城乡的社会生活。在近十年的广阔背景下,通过复杂的矛盾纠葛,刻划社会各阶层众多普通人的形象。劳动与爱情,挫折与追求,痛苦与欢乐,日常生活与巨大社会冲突,纷繁地交织在一起,深刻地展示了普通人在大时代历史进程中所走过的艰难曲折的道路。文档2匹配出:
新屍之氣化為陰摩羅鬼,
棲息於存在與非存在之間。
回首眺望,徒留黑鶴般的空虛不祥……
這世上沒有不可思議的事,
只存在可能存在之物,只發生可能發生之事。
故事大綱
聳立在白樺湖畔的豪華洋館─「鳥城」當家.由良昂允伯爵即將第五度迎娶新娘。
在這之前,他已經連續四次在初夜翌日清晨失去摯愛的新妻。
世人皆耳語:由良家遭詛咒了……
為避免事態重演,偵探.榎木津接受由良家請託,前往鳥城保護新娘,
小說家.關口陰錯陽差與偵探一同踏上旅程。
怎知,偵探一見鳥城眾人,便大喊:這裡面有殺人犯!
榎木津所言是否為真?
由良家的詛咒可會重現?
另一方面,遠在千里的東京……
前刑警.伊庭銀四郎曾經三度參與由良家新娘怪異死亡事件的調查。
一無所獲的調查在前刑警心中留下了雖然細微卻始終隱隱作痛的傷痕。
因緣際會之下,一席與古書肆.京極堂的長談解開了前刑警的心結,
同時也將兩人帶往了偵探與小說家所在的鳥城……
鳥城裡究竟發生了什麼事?
由良家新娘怪異死亡事件,
是無心的偶然造成?亦或是有心人有意為之?自己写的:
(?<=内容简介(.(?!(</div)))*indent\x22>(?(<span)(<span(.(?!(all\shidden\x22)))*\x22all\shidden\x22>\s*)|(\s*)))[^\s<][^<]+?(?=<)
但是不行。。很无奈

解决方案 »

  1.   

    大概是这样
    var s = '...'; // 文档字符串s = s.replace(/<div[^>]*><h2\s*>内容简介[\s\S]*?<\/h2><div[^>]*>([\s\S]*?)<\/div>[\s\S]*$/) // 提取内容介绍
        .replace(/<span[^>]*class="short"[^>]*>[\s\S]*?<\/span>/g, "") // 删除简短介绍
        .replace(/<br[^>]*>/g, "\n") // 处理换行
        .replace(/<[^>]*>/g, ""); // 清理html标签alert(s); // 输出空格自己弄吧。
      

  2.   

    借#1修改一下r = s.match(/内容简介[\s\S]*?<\/h2><div[^>]*>([\s\S]*?)<\/div>\s*<h2>/) // 提取内容介绍
    s = r[1].replace(/<span[^>]*class="short"[^>]*>[\s\S]*?<\/span>/g, "") // 删除简短介绍
        .replace(/<br[^>]*>/g, "\n") // 处理换行
        .replace(/<[^>\u4e00-\u9fcf]*>/g, ""); // 清理html标签第一行除了replace改成match外,里面的正则改不改都没所谓,我改了一下只是优化了点点
    第二行因为是子匹配,需要下标指定
    第四行加了点东西防止正文出现“<这里有汉字>”的情况,但符号就没考虑了
    没测试……
      

  3.   


    不好意思。。我知道这样实现是可以的。。
    但是我意思是直接用正则配出来。。最好是能用正则测试工具RegexTester.exe测出东西。。
      

  4.   

    正则服务于日常应用,无论是编程还是文本处理人员==。如果为了写个正则而浪费了更多的时间则得不偿失。
    用一个正则写出来的未必是好程序员,用多条简单正则做出来的未必就是不会正则。
    楼主的需求分为多个部分
    1、匹配子串
    2、替换内容
    其中替换内容也分了好几种情况。莫说在javascript的正则条件下不可能。就算是可能,那么处理起来的情况也及其复杂,一旦有那么一点需求的变更,那么你的正则维护起来会十分痛苦
      

  5.   

    需求就是配出内容简介啊。。用分支写出来了。。
    感谢各位哈。。贴上我配的东西。。是豆瓣上书的内容简介~~((?<=内容简介[^<]*<\/h2><div\sclass=\x22indent\x22(?!><span)(.(?!<\/div>))*>\s*)[^\s<][^<]+(?=<))|((?<=内容简介(.(?!(<\/div)))*<span\sclass=\x22all\shidden\x22(.(?!(<\/span)))*>\s*)[^\s<][^<]+?(?=<))