正则表达式匹配锚标签,其中链接文本与href值不同

时间:2015-11-16 12:59:11

标签: java regex

我正在寻找Java兼容的正则表达式,以仅匹配不具有与链接文本相同的href值的锚标记

例如1(不应该匹配)

$mspdb->get_slider_field_val( $slider_id, 'custom_fonts' )

例如2(应该匹配)

<a href="http://www.google.co.in">http://www.google.co.in</a>

我已经尝试了以下但是它没有按预期工作

<a href="http://www.google.co.in">Google</a>

1 个答案:

答案 0 :(得分:1)

好吧,如果你真的想这样做,你必须首先捕获href的值,然后检查它是否存在:

public static void main(String[] args) {
    String s = "<a href=\"http://www.google.co.in\">http://www.google.co.in</a>";
    System.out.println(s.matches("<a href=\"(.*?)\".*\\1.*"));

    String s1 = "<a href=\"http://www.google.co.in\">http://www.google12.co.in</a>";
    System.out.println(s1.matches("<a href=\"(.*?)\".*\\1.*"));

}

O / P:

true
false