各位大侠帮忙
举个例子:
下面这一段,
[IMG=http://www.ssadda.com/admin/editor/upload/image/200241319594.jpg align=left]测试[/IMG]

[IMG=upload/image/200241319594.jpg align=left]测试[/IMG]
我只想让正则表达式匹配不带“http://”的那一行应该怎么写?

解决方案 »

  1.   

    huolx (飞云):这个问题以前有人回答得很好:
    不包含就是包含的非.
    -----把包含那个字符串的情况去除就得
      

  2.   

    不知道我理解得对不对:
    <html><body><script>
    var a="I only regret that I have but one to lose for my country";
    var b="I regret that I have but one to lose for my country";
    alert("我们要从a,b里找出没有only的一个来");
    alert("a里面有'only'吗?\n"+(a.search(/only/i)>0)+"\n那么我们要它吗?\n"+(!(a.search(/only/i)>0)));
    alert("b里面有'only'吗?\n"+(b.search(/only/i)>0)+"\n那么我们要它吗?\n"+(!(b.search(/only/i)>0)));</script></body></html>
      

  3.   

    <script>
    var reg=/bcd/gi;
    alert(!reg.test("abcdef"))
    alert(!reg.test("abdef"))
    </script>
      

  4.   

    不太对~~~,可能我上面说得不太清楚,我再详细的说一遍,请二位帮忙
    下面是一整段文本
    ……………………
    ………………
    ………………………
    [IMG=http://www.ssadda.com/admin/editor/upload/image/200241319594.jpg align=left]测试[/IMG]
    ……………………
    ……………………
    ……………………
    [IMG=upload/image/200241319594.jpg align=left]测试[/IMG]
    …………………
    …………………
    ……………………
    现在我想用正则表达式找出形如
    [IMG=链接路径]XX………X[/IMG]
    同时链接路径中不包含http://的的字符串,所以二位上面所说的方法好像用不上~~~
      

  5.   

    其实我就是想处理UBB代码,找出用链接的图片,然后再把它转化为html,只不过要区分相对链接和绝对链接两种。二位帮忙呀。
      

  6.   

    qiushuiwuhen(秋水无恨)的方法是可以的啊,你试试下面两个串的测试
    <script>
    //str="[IMG=http://www.ssadda.com/admin/editor/upload/image/200241319594.jpg align=left]测试[/IMG]";
    str="[IMG=upload/image/200241319594.jpg align=left]测试[/IMG]";
    var myExp=/http:///gi;
    alert(!myExp.test(str));
    </script>
      

  7.   

    我是一大段文本,使用了UBB语法,里面同时包括[IMG=http://www.ssadda.com/admin/editor/upload/image/200241319594.jpg align=left]测试[/IMG]

    [IMG=upload/image/200241319594.jpg align=left]测试[/IMG]
    我要用正则表达式分别定位这两种字符串,因为要把他们替换成标准的html语法,<img src=http://www.ssadda.com/admin/editor/upload/image/200241319594.jpg align=left alt=测试 >

    <IMG src=upload/image/200241319594.jpg align=left alt=测试>
    同时我还要区分出绝对连接和相对连接,以便作进一步处理。
    并不是简单的找出是否存在。
      

  8.   

    不都是
    [IMG=(任意路径) align=left]测试[/IMG]
    替换成
    <IMG src=(任意路径) align=left alt=测试>替换一次就够了
      

  9.   

    不都是
    [IMG=(任意路径) align=left]测试[/IMG]
    替换成
    <IMG src=(任意路径) align=left alt=测试>替换一次就够了
      

  10.   

    see my response in ASP版
      

  11.   

    <script>
    var str="[IMG=http://www.ssadda.com/admin/editor/upload/image/200241319594.jpg align=left]测试[/IMG]和[IMG=upload/image/200241319594.jpg align=left]测试[/IMG]"
    var reg=/\[IMG=([^\s]+)\salign=(\w+)\]([^\[]+)\[\/IMG\]/gi
    if(arr=str.match(reg)){
    for(i=0;i<arr.length;i++)
    if(/\[IMG=http:\/\//gi.test(arr[i]))
    alert(arr[i]+"\n中的链接是绝对链接")
    else
    alert(arr[i]+"\n中的链接是相对链接")
    }
    </script>
      

  12.   

    才看到saucer(思归) asp版的回答修改如下:
    <script>
      var re = /(\[IMG=([^\s\]]+)\s*[^\]]*\][^\[]*\[\/IMG\])/g;
      var s = "[IMG=http://www.ssadda.com/admin/editor/upload/image/200241319594.jpg align=left]测试[/IMG]和[IMG=upload/image/200241319594.jpg align=left]测试[/IMG]"  while(arr=re.exec(s))
      {
    if(arr[2].indexOf("http://")!=0)
    alert("相对:"+arr[2]);
    else
    alert("绝对:"+arr[2]);  }
    </script>
      

  13.   

    我自己的是这样写的:
    先把所有http://的处理掉就是。str=str.replace(/(\[img\])(http:\/\/[^\[]+)(\[\/img\])/ig,'<img class=ubbcodeimg src="$2">');
    str=str.replace(/(\[img\])([^\[]+)(\[\/img\])/ig,'<img class=ubbcodeimg src="http://$2">');