var str = "<p align='center'>aaa</p>";
str = str.replace(/<p.*?>(.*?)<\/p>/g,"$1");
alert(str);

解决方案 »

  1.   

    <script>
    var str = "<p align='center'>aaa</p>";
    re=/<(\/)?p.*?>/ig;
    str = str.replace(re,"");
    alert(str);
    </script>
      

  2.   

    小梅的正则还需强化一下 看起来没错实际错误很多 效率很差
    .*?效率是最低的不用多说了
    HTML标签使用<xxx[^>]*>是最快的判断而且就算 
    <xxx ...
    ...>
    的带换行情况也能匹配
    (.*?)同理也不能匹配换行 而且效率远低于[\s\S]*?str = str.replace(/<p[^>]*>([\s\S]*?)</p>/g,"$1");
      

  3.   

    str = str.replace(/<p[^>]*>([\s\S]*?)</p>/ig,"$1");//手快参数少了个i
      

  4.   

    汗!__ 被批了!!大部分问问题的人都不会把要求说明白,所以怎么写都是错的. 如果是我自己用,我会比较清楚需要的是什么,会考虑的比较详细,别人我就不清楚了.
    LZ说原字符串是:<p align='center'>aaa</p> 这样地,
    我就那样写喽,嘿嘿
      

  5.   

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    ※以下是引用6楼 zhaoxiaoyang(梅雪香@深圳) 在2007-05-11 17:31:05 的发言:
    ──────────────────────────────────────────
    汗!__ 被批了!!
    大部分问问题的人都不会把要求说明白,所以怎么写都是错的. 如果是我自己用,我会比较清楚需要的是什么,会考虑的比较详细,别人我就不清楚了.
    LZ说原字符串是:<p align='center'>aaa</p> 这样地,
    我就那样写喽,嘿嘿
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━人家是批你写的效率太低,不是批你写错了哈哈其实应该这样写合逻辑一点
    <p(\s+[^>]+)?>([\s\S]*?)</p><p[^>]*>([\s\S]*?)</p>这种写法在这里基本不会出错,但是如果是匹配A标签呢.
    <a[^>]*>([\s\S]*?)</a>这样写?
    问题就来了,可能会错匹配了areatext
      

  6.   

    <a(?=[\s>])[^>]*>
    我一般不喜欢这样写 因为效率比较低 只有遇到a这种情况才用
      

  7.   

    <a(?:>|\s[^>]*>)
    这种写法又比较麻烦 所以一般很少用
      

  8.   

    谢谢大家!to gzdiablo():是不是应该这样:
    //“/p”前应该有反斜杠
    str = str.replace(/<p[^>]*>([\s\S]*?)<\/p>/gi, "$1");