keyword:='杭州';  link:='<a  href="http://www.sss.com">杭州</a>';  content:='<a  href="">刻d</a>sdfs杭州ddd深dd地方<a  href="http://www.yy.com"  title="ccc杭州dfdfd">ccc杭州dfdfd</a>机士大夫机可';  要求把content里的keyword(杭州)  替换成链接(<a  href="http://www.sss.com">杭州</a>),但是原有的链接(<a  href="http://www.yy.com"  title="ccc杭州dfdfd">ccc杭州dfdfd</a>)里的keyword(杭州)不替换,应该如何操作

解决方案 »

  1.   

    归纳一下应该可以把思路转为,只要Keyword不在
    <>里面就替换,否则就不替换!!!
      

  2.   

    var
      content,keyword,pattern,link:string;
    begin
     keyword:='杭州';
     link:='<a href="http://www.sss.com">杭州</a>';
     content:='<a href="">刻d</a>sdfs杭州ddd深dd地方<a href="http://www.96123.com">ccc杭州dfdfd</a>机士大夫机可'; pattern:='(?!<.*?href.*?>)' + keyword + '(?!<))';     
     content:=ReplaceRegExpr(pattern,content,link); showmessage(content);好象编译出错
      

  3.   

    pattern:='?!(<.*?href.*?>)' + keyword + '(?!<)';
      

  4.   

    你的意思
    content:='<a  href="">刻d</a>sdfs杭州ddd深dd地方<a  href="http://www.yy.com"  title="ccc杭州dfdfd">ccc杭州dfdfd</a>机士大夫机可';  
    里面的三个杭州都替换掉还是只第一个替换掉