我有一個包含幾行類似於文件:正則表達式來提取標籤 - 值對在Java中
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的解析器,因爲該文件包含其他種類的信息也是如此。
爲什麼使用Apache Commons Assert而不是Java斷言? – cletus 2008-12-25 21:10:33