解决方案 »

  1.   

    这都什么思路啊
    保留aastr,你就只替换bbstr,然后追加上去,就行了啊
    你连aastr也执行了替换,当然给替换没了
      

  2.   

    保留原aastr 中的内容
    是保留初始值?那你这一句就不需要啊aastr = regExp.Replace(aastr + bbstr, @"$5");想在 src=(.[^<]*?) 中遇到带<号的就结束匹配
    src=([^<]*?)<
      

  3.   

    谢谢楼上的,但结果还是跟原来一样,aastr也被替换没了
    aastr和bbstr都是在一大段文本里面的一段字符,是两种图片,aastr是要保留的图片,bbstr是要取图片连接中的&lt;rdg_text_book&gt; 这一块,其他的替换掉现在写的正则是把从aastr中的src标记开始,执行到bbstr中的  alt=这,把中间两个图片的部分都替换没了,这不是预期的结果
    请各位帮忙,代码可复制到本地调试下
    多谢
      

  4.   

    你把aastr + bbstr和bbstr都用$5给替换了,结果当然都是$5,你想把什么结果赋给aastr?
      

  5.   

    我就猜会有哥们问这个,问为什么不拆开来弄,实际项目是这样的,两个都在一个字符串里,我是为了方便调试,才重新写到两个里头来测试正则对不对,实际的可以这么看string aastr = "<span lang=\"EN-US\" ><img width=\"49\" height=\"62\" id=\"图片42\" src=\"090380f9-cf3b-4219-aa11-76f2d3aa981c.files/image001.jpg\" alt=u=1994464438,3165396946&amp;gp=\"0\" ></span >";
                    aastr += "<span lang=\"EN-US\" ><img width=\"34\" height=\"16\" id=\"图片1\" src=\"090380f9-cf3b-4219-aa11-76f2d3aa981c.files/image002.png\" alt=标题: &lt;rdg_text_book&gt; - 说明 142571628 ></span >";
                    regExp = new Regex(@"<img width=(.*?) height=(.*?) id=(.*?) src=([.*?]{50,60}\s)alt=标题: (.*?) - 说明 (.*?)>");
                    aastr = regExp.Replace(aastr, @"$5");预期结果是得到<span lang=\"EN-US\" ><img width=\"49\" height=\"62\" id=\"图片42\" src=\"090380f9-cf3b-4219-aa11-76f2d3aa981c.files/image001.jpg\" alt=u=1994464438,3165396946&amp;gp=\"0\" ></span >&lt;rdg_text_book&gt; 
    这么一段内容
    请各位帮忙,看看怎么能实现
    谢谢
      

  6.   

    遇到<就结束匹配,你字符串里<多了
    我觉得应该换个思路,
    先将<span和 </span >之间的部分分别匹配出来,放个字符串数组里
    然后你想替换哪一个,保留哪一个,就随便了
    替换完重新拼接