住所から都道府県の部分のみを取り出す方法

自由入力形式の住所文字列から、都道府県の部分のみを取り出す方法。

String address = "東京都千代田区千代田1−1";
Pattern pattern = Pattern.compile("^.{2,3}?[都道府県]");
Matcher matcher = pattern.matcher(address);
if (matcher.find()) {
    // 都道府県部分が存在する場合
    System.out.println(matcher.group());
} else {
    // 都道府県部分が存在しない場合
}