[JAVA] Analysieren Sie japanische Adressen mit regulären Ausdrücken

Hintergrund

Das Format der im Internet veröffentlichten japanischen Adressen ist normalerweise festgelegt. Es sollte im Fluss von der Postleitzahl zur Präfektur, Stadt, Gemeinde und Stadt angezeigt werden. Und es gibt viele Spezifikationen wie Google Geocoding durch Extrahieren der Postleitzahl oder des Präfekturnamens des regulären Ausdrucks.

Reguläre Ausdrücke

Was Sie hier beachten müssen, ist, dass Sie den gierigen Modus nicht verwenden können, um den Namen der Präfektur oder der Stadt zu extrahieren. Nicht (. \ * Präfektur) sondern (. \ *? Präfektur) Andernfalls wird beispielsweise das Analyseergebnis des "Anhangs der Präfektur Nagoya der Präfektur der Präfektur Nagoya" in die Präfektur der Präfektur Nagoya der Präfektur Aichi anstelle der Präfektur Aichi extrahiert.

Quellcode


String matchString = "〒066-0012\n" +
        "Mimi, Chitose City, Hokkaido New Chitose Flughafen Inlandsterminal Gebäude 2F";

Matcher matcher = Pattern.compile("\\s*〒(\\d{3}-\\d{4})[\\s ]*(.*?Hauptstadt)?(.*?Straße)?(.*?Präfektur)?(.*?Präfektur)?(.*?Stadt)?(.*?Station)?").matcher(matchString);

while (matcher.find()){
    System.out.println("Adresse:" + matcher.group(0));
    System.out.println();
    System.out.println("Postleitzahl:" + matcher.group(1));
    System.out.println();
    System.out.println("Stadtname:" + matcher.group(2));
    System.out.println();
    System.out.println("Straßenname:" + matcher.group(3));
    System.out.println();
    System.out.println("Präfekturname:" + matcher.group(4));
    System.out.println();
    System.out.println("Präfekturname:" + matcher.group(5));
    System.out.println();
    System.out.println("Stadtname:" + matcher.group(6));
    System.out.println();
    System.out.println("Stationsname" + matcher.group(7));
}
      

Ergebnis

Adresse:〒066-0012
Chitose City, Hokkaido

Postleitzahl:066-0012

Stadtname:null

Straßenname:Hokkaido

Präfekturname:null

Präfekturname:null

Stadtname:Chitose City

Stationsname null

Es ist ein einfacher Inhalt, aber ich habe ihn gepostet, weil ich dachte, er würde oft verwendet.

Recommended Posts

Analysieren Sie japanische Adressen mit regulären Ausdrücken
Reguläre Ausdrücke
Reguläre Ausdrücke, die 99% der E-Mail-Adressen entsprechen
Einfach mit regulären Java-Ausdrücken zu stolpern
Wechseln Sie die Beans mit den kanonischen Ausdrücken @ConditionalOnExpression und SpEL
Passen Sie IP-Adressen mithilfe regulärer Ausdrücke in Java an
Unterscheiden Sie mit regulären Ausdrücken zwischen ganzen Zahlen und Brüchen
[Ruby] Schließen Sie bestimmte Muster aus und ersetzen Sie sie durch reguläre Ausdrücke
Japanischer Installer mit Javapackager
Hinweise zu regulären Ausdrücken
[Java] Zusammenfassung der regulären Ausdrücke
Über reguläre Ausdrücke in Ruby
Lerne nach und nach reguläre Ausdrücke ①