У меня есть файл, содержащий несколько строк, похожих на:
Name: Peter
Address: St. Serrano número 12, España
Country: Spain
И мне нужно извлечь адрес с помощью регулярного выражения, учитывая, что он может содержать точки, специальные символы (ñ, ç), символы ...
Текущий код работает, но выглядит довольно некрасиво:.
Pattern p = Pattern.compile("^(.+?)Address: ([a-zA-Z0-9ñÑçÇáéíóú., ]+)(.+?)$",
Pattern.MULTILINE | Pattern.DOTALL);
Matcher m = p.matcher(content);
if (m.matches()) { ... }
Редактировать: Поле адреса также можно разделить на несколько строк
Name: Peter
Address: St. Serrano número 12,
Madrid
España
Country: Spain
Редактировать: я не могу использовать объект Properties или синтаксический анализатор YAML, так как файл также содержит другую информацию.