このパターンをブロックする文字:
private static Map<String, String> parseMetadata(String metaString) {
Map<String, String> metadata = new HashMap<String, String>();
String[] metaParts = metaString.split(";");
Pattern p = Pattern.compile("^([a-zA-Z]+)=\\'([^\\']*)\\'$");
Matcher m;
for (int i = 0; i < metaParts.length; i++) {
m = p.matcher(metaParts[i]);
if (m.find()) {
metadata.put(((String) m.group(1)).trim(), ((String) m.group(2)).trim());
}
}
return metadata;
}
テストしたところ、' 記号を含む文字列がブロックされましたが、これが発生することは望ましくありません。