2013-10-14 2 views
0

자바를 사용하고 있습니다. 그리고 나는 그때 하이퍼 링크와 태그 <a> HTML의 앵커 텍스트를 대체 찾으려고합니다. 내가 사용해야합니다 : replace() 방법을 알았지 만 정규 표현식에 대해서는 꽤 나쁘다. 예 :정규 표현식을 사용하여 링크 태그 바꾸기

<a href="http://anotherweb.com">anchor text 2</a> 

당신이 그 목적을 위해 내 정규식을 보여줄 수 :

<a href="http://example.com">anchor text 1</a> 

는에 의해 대체 될 것이다? 고마워.

+2

regex를 사용하지 말고,'HTML' [parser] (http://stackoverflow.com/questions/2168610/which-html-parser-is-best)를 사용하십시오. – Maroun

+0

특정 링크 및 텍스트를 바꾸시겠습니까? 아니면 모든 링크와 모든 텍스트를'http : // anotherweb.com' 및'anchor text 2'로 바꾸시겠습니까? – Jerry

+0

텍스트의 모든 링크와 모든 텍스트를 바꾸려고합니다. –

답변

1

당신은 아마도 정규식으로 replaceAll을 사용할 수

<a href=\"http://anotherweb.com\">anchor text 2</a> 

[^\"]+[^<]+이 부정되는 클래스 "<을 제외한 모든 문자와 각각 일치합니다.

2

이 작업에는 regex를 사용하지 마십시오. 당신은 Jsoup 같은 일부 HTML 파서를 사용한다 :

<a href=\"[^\"]+\">[^<]+</a> 

을 그리고 교체 :

String str = "<a href='http://example.com'>anchor text 1</a>"; 

Document doc = Jsoup.parse(str); 
str = doc.select("a[href]").attr("href", "http://anotherweb.com").first().toString(); 

System.out.println(str); 
+0

나는 시도 할 것이다. 감사 –

관련 문제