Tengo un archivo que contiene varias líneas similares a:expresión regular para extraer pares de etiquetas de valor en Java
Name: Peter
Address: St. Serrano número 12, España
Country: Spain
Y necesito para extraer la dirección usando una expresión regular, teniendo en cuenta que puede contener puntos , caracteres especiales (ñ, ç), áéíóú ...
El código actual funciona, pero se ve bastante feo :.
Pattern p = Pattern.compile("^(.+?)Address: ([a-zA-Z0-9ñÑçÇáéíóú., ]+)(.+?)$",
Pattern.MULTILINE | Pattern.DOTALL);
Matcher m = p.matcher(content);
if (m.matches()) { ... }
Editar: El campo de dirección también podría ser dividida en múltiples líneas
Name: Peter
Address: St. Serrano número 12,
Madrid
España
Country: Spain
Editar: No puedo utilizar un objeto Properties o un analizador YAML, ya que el archivo contiene otro tipo de información, también.
¡Funcionó! Gracias ! Tengo que leer más sobre regex :) –
Cualquiera leyendo esto. Para el caso de líneas múltiples, se debe pasar el indicador DOTALL y^y $ deben eliminarse del caso. –