字符串:adbdkafjkdj*/akjfkajsdk/*jakdjfk
我要匹配字符‘/*',它的前面可以为任意字符,但不可以出现字符'*/',这两个字符是连在一起的。
写一个正则表达式进行匹配。
谢谢

解决方案 »

  1.   

    楼主的意思不太明白,
    如果要匹配 akjfkajsdk ,简单的就这样
    /\*\/(.*)\/\*/g
    通用点的就这样
    /((?<!\*\/).*)\/\*/g
      

  2.   

    不好意思。
    我的意思是,我要匹配字符‘/*’,但它前面不能有字符‘*/’
    如:afd*/kajdfk/*ajkd,这样的就不能匹配成功,因为在字符'/*'前有字符'*/'
       jakdjfk/*jakdfj, 这样的就能匹配成功。
    怎么写。谢谢
      

  3.   


    var a=/[^{\*\/}]*\/\*/g;
    var b="adbdkafjkdj*/akjfkajsdk/*jakdjfk";
    var c="adbdkafjkdj/*akjfkajsdk*/jakdjfk";
    alert(a.test(b));
    alert(a.test(c));
    like this?
      

  4.   


    var str = "adbdkafjkdj*/akjfkajsdk/*jakdjfk";
    var pat = /.*(?!*/).*\/\*/;
    alert(pat.test(str));是这个意思?
      

  5.   

    如果我没试用错的话。
    4楼的正则表达式,只要字符'/*'前有*或者/字符,就匹配不成功。如“jkfadj/jkadf/*;ai”这样的匹配不成功。但我想这样的匹配成功。
    还有一个条件没有说明:要从一开始就匹配^
    5楼的好像全都匹配成功。
      

  6.   

    var a=/[^{\*\/}]*\/\*/g;
    var b="adbdkafjkdj*/akjfkajsdk/*jakdjfk";
    var c="adbdkafjkdj/*akjfkajsdk*/jakdjfk";
    var d="jkfadj/jkadf/*;ai";
    alert(a.test(b));
    alert(a.test(c));
    alert(a.test(d));
    结果是
    TRUE
    FALSE
    TRUE你怎么配佩不成功呢?
      

  7.   


    其实我要的结果是这样的。
    b中:在字符'/*'前有字符'*/' 所以我希望匹配不成功。
    c中:在字符'/*'前没有'*/',所以我希望匹配成功,且结果为adbdkafjkdj/*
    d中:在字符'/*'前没有'*/',所以我希望匹配成功,且结果为jkfadj/jkadf/*
    谢谢
      

  8.   

    var a=/^[^\*\/]*\*\/[^\*\/]*\/\*/g;
    var b="adbdkafjkdj*/akjfkajsdk/*jakdjfk";
    var c="adbdkafjkdj/*akjfkajsdk*/jakdjfk";
    var d="jkfadj/jkadf/*;ai";
    alert(!a.test(b));
    alert(!a.test(c));
    alert(!a.test(d));终于明白了...
    试试这个...
      

  9.   

    恩,结果对了。可是我取不到匹配结果。
    我这样问吧:我要匹配一个字符串,只要字符串中出现字符ab(a和b字符是连在一起的),就匹配不成功。
    如果匹配成功,可以取到匹配结果。
    帮我写这样一个正则表达式吧。谢谢
      

  10.   

    你要的匹配结果是怎样的?只是ab?还是连ab周围的字符?还是有其他需求?
      

  11.   

    比如字符“kkkkabkkk”,它当中出现了ab连在一起的字符,所以不匹配,匹配结果就什么都没有
    字符“kkkakkbvkkkk",它当中没有ab字符连在一起,所以匹配(test为true,不要像上面那个,取反后才为真),匹配结果为“kkkakkbvkkkk"。
    谢谢
      

  12.   

    var re=/^(?:[^a]*a(?!b)[^a]*)+$/试试
      

  13.   

    做出来了,但是在提取内容时用了另一个正则:
    <script type="text/javascript">
    var b="adbdkafjkdj*/akjfkajsdk/*jakdjfk";
    var c="qwerr/*yuiop*/mkli";
    var d="jkfadj/jkadf/*;ai";
    var a = /(^.*(\*\/).*\/\*).*$/;
    function e(Reg,str) {
    var temp = "字符串:\t\t" + str + "\n";
    temp += "匹配结果:\t" + (!Reg.test(str)) + "\n";
    temp += "匹配内容:\t";
    temp += (!Reg.test(str)) ? str.replace(/(^.*\/\*).*$/,"$1") : "null";
    alert(temp);
    return;
    }
    e(a,b);
    e(a,c);
    e(a,d);
    </script>