var text = "<a href='http://www.baidu.com'>http://www.baidu.com</a>";
var keyword = "www";输出
<a href='http://www.baidu.com'>http://<b>www</b>.baidu.com</a>请问这个正则表达式要怎么写?

解决方案 »

  1.   

    text.replace(new RegExp(keyword, g), function($0, $1){
        return '<b>' + $1 + '</b>';
    });
      

  2.   

    下面的正确:
    text.replace(new RegExp(keyword, 'g'), function($0, $1){
        return '<b>' + $0 + '</b>';
    });
      

  3.   

    text.replace(new RegExp('(<a[^>].*>.*)('+keyword+')(.*</a>)'),'$1<b>$2</b>$3')
      

  4.   

    <script type="text/javascript">
                var text = "<a href='http://www.baidu.com'>http://www.baidu.com</a>";
                var keyword = "www";
                var pattern = new RegExp('^(<[^>]+>[^<]*)(' + keyword + ')([^<]*<[^>]*>)$');
                text = text.replace(pattern, "$1<b>$2</b>$3");
                alert(text);
            </script>
      

  5.   

    var text = "<a href='http://www.baidu.com'>http://www.baidu.com</a>";
    var keyword = "www";
    var regexp  = new RegExp((
         '(<a.*?>\\s*)'
      +     '(https?://\\s*)'  //开头的http://或https://
      +      '(\\w+)'      //主机名
      +     '(.\\w+)+'     //域名
      +  '(\\s*</a>)'
    ), 'gi');console.log(text.replace(regexp, '$1$2<b>$3</b>$4'));
      

  6.   

    不能用,一样会把url中的给替换了
      

  7.   

        var text = "<a href='http://www.baidu.com'>http://www.baidu.com</a>afefeeaaa<A href='http://www.code-design.cn'>http://www.code-design.cn</a>";
        var keyword = "www";
        var rx = /(<a[^>]+>)([^>]+)(<\/a>)/ig
        text = text.replace(rx, function ($0, $1, $2, $3) { return $1 + $2.replace(keyword, '<b>' + keyword + '</b>') + $3; });
        alert(text)
      

  8.   

    我这个替换主要是用来做高亮关键字显示的,对于下列这种有办法处理没?var text = "wwwwww <a href='http://www.baidu.com'>http://www.baidu.com</a>afefeeaaa<A href='http://www.code-design.cn'>http://www.code-design.cn</a> wwwwwwwwwwwwwwwww";