【发布时间】:2008-12-25 19:44:35
【问题描述】:
我有一个文件包含几行类似于:
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 解析器,因为该文件还包含其他类型的信息。
【问题讨论】:
标签: java regex pattern-matching