Ich habe eine Datei, die mehrere Zeilen ähnlich wie diese enthält:
Name: Peter
Address: St. Serrano número 12, España
Country: Spain
Und ich muss die Adresse mit Hilfe eines regulären Ausdrucks extrahieren, wobei zu berücksichtigen ist, dass sie Punkte, Sonderzeichen (ñ, ç), áéíóú... enthalten kann.
Der aktuelle Code funktioniert, sieht aber ziemlich hässlich aus:.
Pattern p = Pattern.compile("^(.+?)Address: ([a-zA-Z0-9ñÑçÇáéíóú., ]+)(.+?)$",
Pattern.MULTILINE | Pattern.DOTALL);
Matcher m = p.matcher(content);
if (m.matches()) { ... }
Bearbeiten: Das Adressfeld könnte auch in mehrere Zeilen aufgeteilt werden
Name: Peter
Address: St. Serrano número 12,
Madrid
España
Country: Spain
Edit: Ich kann weder ein Properties-Objekt noch einen YAML-Parser verwenden, da die Datei auch andere Informationen enthält.