(?!qwe)<!--(.|\n)*?-->(?!/qwe) 这个是我写的正则表达式
目的是想在qwe  /qwe 之间的并存在的<!--asdfasdf-->注释不过滤
但是不再qwe  /qwe 之间的<!--asdfasdf-->不过滤例如
qwe<--!asd
as-->/qwe
<--!asdasdasdasd
asdasdas-->
我想把<--!asdasdasdasd
asdasdas-->过滤掉但是我用(?!qwe)<!--(.|\n)*?-->(?!/qwe)这个正则表达式 
<--!asd
as-->/qwe
<--!asdasdasdasd
asdasdas-->  都过滤了 
请高手赐教 谢谢

解决方案 »

  1.   

    (?!qwe) <!--(. ¦\n)*?--> (?!/qwe) 这个是我写的正则表达式
    目的是想在qwe  /qwe 之间的并存在的 <!--asdfasdf--> 注释不过滤
    但是不再qwe  /qwe 之间的 <!--asdfasdf--> 过滤例如
    qwe <--!asd
    as--> /qwe
    <--!asdasdasdasd
    asdasdas-->
    我想把 <--!asdasdasdasd
    asdasdas--> 过滤掉但是我用(?!qwe) <!--(. ¦\n)*?--> (?!/qwe)这个正则表达式 
    <--!asd
    as--> /qwe
    <--!asdasdasdasd
    asdasdas-->   都过滤了 
    请高手赐教 谢谢
      

  2.   

    String input ="111(1)1(1)1()";
    String result = input.replaceAll("(.*?)|\\(.*?\\)", "");
    System.out.println(result);
    /*11111*/
      

  3.   

    这个正则表达式是匹配出(1)(1)的
    我希望的是匹配出括号外的1
    比如  
    <qwe>()<qqq>(<www>)
    匹配后 输出 
    <qwe>
    <qqq>
      

  4.   

    不好意思 我没说清楚
    String input ="<qwe> () <qqq> ( <www> ) ";
    String result = input.replaceAll("正则表达式", "");
    System.out.println(result);
    /*()(<www>)*/这个是我想要的结果 呵呵 谢谢
      

  5.   


    那直接把 <qwe> 和 <qqq> 删了不就得了。楼主提的问题感觉好混乱,没看懂。
      

  6.   

    是的,就是想删掉不在括号里的<(.\n)*?>
    实际的需求是
    我想把html中的注释删掉
    但是在<script      /script>中也可能出现这个注释,这个注释我们不想删除
    <qwe>   ()   <qqq>   (   <www>   ) 
    中()相当于<script      /script>  
    <>相当于注释