或者说我需要把完全一样的匹配标记作为两个来对待 <!--BeginID:4719--><!--EndThisOfAllId-->

解决方案 »

  1.   

    把正则换下,不知道VBscript里支不支持预查功能,可以试下
    Reg.Pattern="<!--BeginID:4719-->([\s\S](?!(<!--EndThisOfAllId-->)))*<!--EndThisOfAllId-->"
      

  2.   

    上面的有点错误,应该是
    Reg.Pattern="<!--BeginID:4719-->([\s\S](?!(<!--BeginID:4719-->)))*<!--EndThisOfAllId-->"
    我再去测试下
      

  3.   

    To hbhbhbhbhb1021(天外水火(我要多努力))  和我的执行的是一样的啊。
      

  4.   

    晕,开始的时候思路错了,楼主的问题出在Replace函数上,用下面的方法就不会了<script language=vbscript>
    sToHtml="<!--BeginID:4719-->asd<!--EndThisOfAllId--><!--BeginID:4719-->asd<!--EndThisOfAllId-->"  
     
    Set  Reg  =  New  RegExp  
                   Reg.Global  =  True  
                   Reg.IgnoreCase  =  True  
                   Reg.Pattern="<!--BeginID:4719-->[\s\S]*?<!--EndThisOfAllId-->"  
                   If  Reg.Test(sToHtml)  Then  
                         Set  Matchs2=Reg.Execute(sToHtml)      
     
                               b=0  
                               For  Each  Match2  In  Matchs2
                                Set  RegEx  =  New  RegExp  
                                RegEx.Pattern=Match2  
                                RegEx.Global  =  false
                                RegEx.IgnoreCase  =  True  
                                       sToHtml=RegEx.Replace(sToHtml,b)
                                       b=b+1  
                               Next  
                   End  If  
                   Set  Reg=Nothing  
     
                   msgbox(sToHtml)
    </script>
      

  5.   


    <script language=vbscript>
    sToHtml="<!--BeginID:4719-->asd<!--EndThisOfAllId--><!--BeginID:4719-->asd<!--EndThisOfAllId-->"  
     
    Set  Reg  =  New  RegExp  
                   Reg.Global  =  false  
                   Reg.IgnoreCase  =  true  
                   Reg.Pattern="<!--BeginID:4719-->[\s\S]*?<!--EndThisOfAllId-->"  
                   b=0
                   while Reg.Test(sToHtml)
                   sToHtml=Reg.Replace(sToHtml,b)
                            b=b+1 
                   Wend  
                   Set  Reg=Nothing  
     
                   msgbox(sToHtml)
    </script>
      

  6.   

    再问:假如要替换的字符串中又含有 <!--BeginID:4719-->asd<!--EndThisOfAllId--> 字符串呢?
      

  7.   

    就是假如要替换的不是 变量 b,而是 c, c的内容又是 c="<!--BeginID:4719-->KKKKKKKKK<!--EndThisOfAllId-->"
      

  8.   

    关键是 C 是动态的。不固定啊。问题重新这样描述吧:有 2个页面 a.htm  和 b.htm------------------------------------------a.htm 中核心内容--------------------<!--BeginID:1-->这里是部分内容1<!--EndThisOfAllId-->
    <!--BeginID:2-->这里是部分内容2<!--EndThisOfAllId-->
    <!--BeginID:3-->这里是部分内容3<!--EndThisOfAllId-->------------------------------------------b.htm 中核心内容--------------------<!--BeginID:1-->新内容1<!--EndThisOfAllId-->
    <!--BeginID:2-->新内容2<!--EndThisOfAllId-->
    <!--BeginID:3-->新内容3<!--EndThisOfAllId-->我想将 b.htm 中对应的内容替换 a.htm 中对应的内容。同时替换后要保留 <!--BeginID:1--><!--EndThisOfAllId--> 这样的标签,以便下次再次进行替换!
      

  9.   

    这我们简化
    b.htm 中的内容直接装在数组里a(0)="<!--BeginID:1-->新内容1<!--EndThisOfAllId-->"
    a(1)="<!--BeginID:1-->新内容2<!--EndThisOfAllId-->"
    a(2)="<!--BeginID:1-->新内容3<!--EndThisOfAllId-->"