在java中使用正则表达式替换锚标记?

时间:2014-05-14 09:59:19

标签: java regex string str-replace replaceall

"TEST START<a class=\"fic.test\" testexpression=\"LTRIM(a)\" testognlexpression=\"${LTRIM(a)}\" href=\"\">a</a>TEST END";

我在String变量中有锚标记。我想只检索attr testognlexpression的值。

Abouve字符串应该替换为

TEST START ${LTRIM(a)} TEST END

我该如何检索或替换?

我的代码看起来像

String text = "START<a class=\"fic.test\" testexpression=\"LTRIM(a)\" testognlexpression=\"${LTRIM(a)}\" href=\"\">a</a>END";
    System.out.println(text.replaceAll( "</?a[^>testognlexpression]*>", "" ));
}

2 个答案:

答案 0 :(得分:1)

       public static void main(String []args){
       String text = "<a class=\"fic.test\" testexpression=\"LTRIM(a)\" testognlexpression=\"${LTRIM(a)}\" href=\"\">a</a>";
       String val=text.replaceAll( ".*testognlexpression=", "" );
       System.out.println(val.split("\\s+")[0].replaceAll("\"",""));
       }

OP:

${LTRIM(a)}

答案 1 :(得分:0)

text = (text.replaceAll( "(?i)(<a[^>]*?\\stestexpression\\s*)=\"", "" ));
        return text.replaceAll("}\"\\shref.+</a>", "}");

但仍在寻找一线解决方案。