要求匹配所有 能用鼠标点击的连接

解决方案 »

  1.   

    基本的如:<a href=*>**</a>
    <iframe src=*><iframe>
    <a href=# onclick=*>*</a>
      

  2.   

    <(?<sun>(a|iframe)+).*?>.*?</?\k<sun>.*?>
    里面只写了A和IFRAME的 别的自己添加吧
      

  3.   

    +号多余了 不要
    <(?<sun>(a|iframe)).*?>.*?</?\k<sun>.*?>
      

  4.   

    大概是这样
    string a="<a href='ftp://topic.csdn.net/t/\'<t";
    Regex rex=new Regex("(http|ftp)://.+(?='|\")");
    a=rex.Match(a).Value;
    //(http|ftp)这个自己扩充如(http|ftp|udp)
    一般是以'或"结尾 如有其他也自己扩充
      

  5.   

    (?<=((?:src|href|url|background)(?:\s*=\s*(["']?))))(?:[^\s"'>]*)
    用这个可以找出除FLASH几乎所有可能存在的连接
    FLASH的连接是写在Value里面的
    上面这条语句
    假设<a href="XXXXXX">xxxxxx</a>
    match获取的是 连接内容即 XXXXXX
    group 1 获取的是 前缀 href=" 注:上面语句可以分辨是 双引号 单引号 空
    group 2 获取的是 包围符号 即 双引号 单引号 空如果你想获取全部连接内容包括前缀用下面这句
    ((?:src|href|url|background)(?:\s*=\s*(["']?)))(?:[^\s"'>]*)[\s"']?
    match获取的是 全部连接内容即 href="XXXXXX"
    group 1 获取的是 前缀 href=" 注:上面语句可以分辨是 双引号 单引号 空
    group 2 获取的是 包围符号 即 双引号 单引号 空
      

  6.   

    gzdiablo() :
    21312sfdr<a href="XXXXXX">xxxxxx</a>asdf结果是返回包含所有连接标记的:<a href="XXXXXX">xxxxxx</a>我想获取上述匹配呢?
      

  7.   

    这个就是获取A标签了
    你用这个
    <(" + 标签名称+ ")[^>]*>(\s*|.)*</\1>
    这个是获取需要关闭标签的标签 即 <XXX></XXX> 的标签 不过不支持嵌套支持嵌套的不太好写
    实际是
    <(a)[^>]*>(\s*|.)*</\1>
    这样就能获取全部A标签 其他标签同理
    如果有多种标签就这样写 (a|XXX|xxx)如果是不需要关闭标签的标签 即 <XXX  >的 如<img src="xxx" height="xxx" ...>
    就简单多了
    <(" + 标签名称+ ")[^>]*>
    用这个就行了
      

  8.   

    感谢gzdiablo() 以后向你请教,还请多多帮助!