2016-06-09 11 views
1

Ich verwende diese regex:Regex funktioniert, nicht auf Java

(.*)<a href=\\"(.*)\\" class=\\"PopupItemLink\\">(.*)<\\\/a>(.*) 

Um diese Zeichenfolge zu entsprechen: (ex http://regexr.com/3djfo)

\n&7This is the alert body\n\nYour name: HAlexTM\nYour ID: 1\nHere the link: <a href=\"test.com\" class=\"PopupItemLink\">Hey<\/a>\n\nThis is a html test: <p>Hey<\/p>\n&8Thu Jun 09 18:07:30 CEST 2016 

weil ich

<a href=\"test.com\" class=\"PopupItemLink\">Hey<\/a> 
ersetzen müssen

mit "Hey"

Also in Ja va ich benutze diese

if (asit.matches("(.*)<a href=\\\\\"(.*)\\\\\" class=\\\\\"PopupItemLink\\\\\">(.*)<\\\\\\/a>(.*)")) { 
      asit.replaceAll("<a href=\\\\\"(.*)\\\\\" class=\\\\\"PopupItemLink\\\\\"", "$1"); 
      asit.replaceAll(">(.*)<\\\\\\/a>", "$1"); 
      return asit;} 

Aber es gibt nichts zurück, was ist das Problem?

+2

Java Strings sind ** ** unveränderlich schreiben. 'asit = asit.replaceAll()' –

+0

@ PM77-1 Sorry, was bedeutet das? – HAlexTM

+0

Siehe http://stackoverflow.com/questions/8798403/string-isimmutable-what-exactly-is-the-beaning –

Antwort

0

ich gelöst habe es die, wenn Block entfernt und nur replaceAll()

output = output.replaceAll("<a href=\"(.*)\" class=\"PopupItemLink\"", "$1"); 
output = output.replaceAll(">(.*)<\\/a>", " ($1)"); 
return output;