[JAVA] Analyser les adresses japonaises avec des expressions régulières

Contexte

Le format des adresses japonaises publiées sur le net est généralement fixe. Il doit être affiché dans le flux du code postal vers la préfecture, la ville, le quartier et la ville. Et il existe de nombreuses spécifications telles que Google Geocoding en extrayant le code postal ou le nom de préfecture de l'expression régulière.

Expressions régulières

Ce à quoi vous devez faire attention ici, c'est que vous ne pouvez pas utiliser le mode gourmand pour extraire le nom de la préfecture ou le nom de la ville. Pas (. \ * Préfecture) mais (. \ *? Préfecture) Sinon, par exemple, le résultat de l'analyse de "Aichi Prefecture Nagoya City Prefectural Annex" sera extrait dans "Aichi Prefecture Nagoya City Prefecture" au lieu de "Aichi Prefecture".

Code source


String matchString = "〒066-0012\n" +
        "Mimi, Chitose City, Hokkaido New Chitose Airport Domestic Terminal Building 2F";

Matcher matcher = Pattern.compile("\\s*〒(\\d{3}-\\d{4})[\\s ]*(.*?Capitale)?(.*?route)?(.*?Préfecture)?(.*?Préfecture)?(.*?ville)?(.*?quartier)?").matcher(matchString);

while (matcher.find()){
    System.out.println("adresse de rue:" + matcher.group(0));
    System.out.println();
    System.out.println("Code postal:" + matcher.group(1));
    System.out.println();
    System.out.println("Nom de Ville:" + matcher.group(2));
    System.out.println();
    System.out.println("Nom de la route:" + matcher.group(3));
    System.out.println();
    System.out.println("Nom de la préfecture:" + matcher.group(4));
    System.out.println();
    System.out.println("Nom de la préfecture:" + matcher.group(5));
    System.out.println();
    System.out.println("Nom de Ville:" + matcher.group(6));
    System.out.println();
    System.out.println("Nom du quartier" + matcher.group(7));
}
      

résultat

adresse de rue:〒066-0012
Chitose City, Hokkaido

Code postal:066-0012

Nom de Ville:null

Nom de la route:Hokkaido

Nom de la préfecture:null

Nom de la préfecture:null

Nom de Ville:Chitose City

Nom du quartier nul

C'est un contenu simple, mais je l'ai posté parce que je pensais qu'il serait souvent utilisé.

Recommended Posts

Analyser les adresses japonaises avec des expressions régulières
Expressions régulières
Expressions régulières qui correspondent à 99% des adresses e-mail
Facile à parcourir avec les expressions régulières Java
Changer de beans avec les expressions canoniques @ConditionalOnExpression et SpEL
Faire correspondre les adresses IP à l'aide d'expressions régulières en Java
Distinguer les entiers et les fractions avec des expressions régulières
[Ruby] Exclure et remplacer des modèles spécifiques par des expressions régulières
Installateur japonais avec javapackager
Notes sur les expressions régulières
[Java] Résumé des expressions régulières
À propos des expressions régulières dans Ruby
Apprenez les expressions régulières petit à petit ①