求一个正则表达式链接替换函数(100高分)
1)字符串       前面的字符<a href="http://www.aaa.cn/000011.html">任意长度字符</a>后面的字符替换成        前面的字符<a href="http://www.bbb.cn/folder/show.asp?id=000011">任意长度字符</a>后面的字符
2)字符串       前面的字符<a href="http://www.aaa.cn/070006,ccc.html">任意长度字符</a>后面的字符替换成        前面的字符<a href="http://www.bbb.cn/folder/aa.asp?id=000011">任意长度字符</a>后面的字符
3)    不属于以上情况的,直接删除链接字符串       前面的字符<a href="http://www.aaa.cn/dddd.html">任意长度字符</a>后面的字符  替换成        前面的字符任意长度字符后面的字符
函数的样式如下,帮忙写正则表达式,谢谢。
Function ScriptHtml(Byval ConStr,FType)
    Dim Re
    Set Re=new RegExp
    Re.IgnoreCase =true
    Re.Global=True
    Select Case FType
    Case 1
       Re.Pattern="正则表达式"
       ConStr=Re.Replace(ConStr,"")
    Case 2
       Re.Pattern="正则表达式"
       ConStr=Re.Replace(ConStr,"")
    Case other
        
   
    End Select
    ScriptHtml=ConStr
    Set Re=Nothing
End Function
恳请大家帮忙,在此先谢了!

解决方案 »

  1.   

    http://www.aaa.cn/070006,ccc.html
    URL有包含“,”号??
      

  2.   

    <textarea id="demo">
    字符串      前面的字符 <a href="http://www.aaa.cn/000011.html">任意长度字符 </a>后面的字符 
    替换成        前面的字符 <a href="http://www.bbb.cn/folder/show.asp?id=000011">任意长度字符 </a>后面的字符 
    2)  
    字符串      前面的字符 <a href="http://www.aaa.cn/070006,ccc.html">任意长度字符 </a>后面的字符 
    替换成        前面的字符 <a href="http://www.bbb.cn/folder/aa.asp?id=000011">任意长度字符 </a>后面的字符 
    3)    不属于以上情况的,直接删除链接  
    字符串      前面的字符 <a href="http://www.aaa.cn/dddd.html">任意长度字符 </a>后面的字符 
    替换成        前面的字符任意长度字符后面的字符  
    函数的样式如下,帮忙写正则表达式,谢谢。 
    </textarea>
    <script type="text/javascript">
    var demo = document.getElementById('demo'),
    m, text = demo.value, part = text.split(/<\/a>/gi),
    linkPattern = /(<a[^>]+)href=(['"])([^>]+)\2([^>]*>)((?:(?:\r\n|\n)?.*)*)/i,
    type = [
    /^http:\/\/www\.aaa\.cn\/(\d+)\.html$/i,
    /^http:\/\/www\.aaa\.cn\/(\d+),ccc\.html$/i
    ];
    for (var i = 0; i < part.length; i++) {
    part[i] = part[i].replace(linkPattern, function(m, $1, $2, $3, $4, $5){
    switch (true) {
    case !!(m = $3.match(type[0])):
    $3 = 'http://www.bbb.cn/folder/show.asp?id=' + m[1]; break;
    case !!(m = $3.match(type[1])):
    $3 = 'http://www.bbb.cn/folder/aa.asp?id=' + m[1]; break;
    default:
    $3 = null; break;
    }
    return $3 ? $1 + $2 + $3 + $2 + $4 + $5 + '</a>' : $5;
    });
    }
    alert(part.join(''));
    </script>
      

  3.   

    高人;能不能把它写成一个函数啊; 那个字符串是个变量 content
    我就是希望把那个变量的内容中的链接替换成自己的链接, 内容中的链接替换可能多余我说的那2个替换规则(可能有很多),希望这个函数能够灵活些,可以随意加正则,替换成自己想要的链接,多谢了!! Function guolv(content)
        ConStr=content    ...........
        guolv=ConStr
    End Function
      

  4.   

    看了下LZ的需求,如果我没理解错的话,这不需要用正则吧
    直接replace字符串就可以了挖,
    case 1:
    str = str.replace("http://www.aaa.cn/000011.html","http://www.bbb.cn/folder/show.asp?id=000011");
    break;
    case 2:
    str = str.replace("http://www.aaa.cn/070006,ccc.html","http://www.bbb.cn/folder/aa.asp?id=000011");
    break;
    case 3:
    str = str.replace("<a href=\"http://www.aaa.cn/dddd.html\">","");
    str = str.replace("</a>","");
    break;