Mit dem folgenden Dataset versuche ich, Regex zu verwenden, um Stadtnamen zu extrahieren.Java - Verwenden von Regex zum Extrahieren von Teilstrings aus dem Dataset
Boston (MA), New York (NY, CT, NJ)
New York (NY, CT, NJ), Philadelphia (PA, NJ)
Indianapolis (IN) , St. Louis (MO, IL)
St. Louis (MO, IL), Kansas City (MO, KS)
ich möchte die Ausgabe des Regex sein:
Boston, New York City
New York City, Philadelphia
Indianapolis, St. Louis
St. Louis, Kansas City
Ich versuchte Match Muster basiert auf zwei Kriterien:
(\\w+\\w(?=.())) | (\\w+\\W\\h\\w+(?=.()))
- Städte aus Buchstaben von
[a-zA-Z]+
wie Boston oder Philadelphia - Ein Wort bestehend aus zusätzlichen Zeichen wie z. B. Punkte/zusätzliche Leerzeichen.
Der Ausdruck stimmt genau mit dem ersten Fall überein. Für den zweiten Fall stimmt es jedoch nur mit dem ersten Auftreten von St. Louis
überein.
Ich habe auch versucht die folgenden:
(\\w+ ?\\w(?=.())) | (\\w+\\h\\w+\\h\\w+(?=\\s.()))| (\\w+\\h\\w+(?=\\s.()))
- Das erste deckt den gleichen Fall wie oben aufgeführt - bestehend aus einem Wort bestehenden Städten.
- Die dritte schafft es, den Fall von
New York City
zu decken, jedoch, genau wie die erste, Fälle von dem gleichen Muster danach nicht erkennen. - Und der gleiche Fall wie im letzten Muster, die
St. Louis
übereinstimmte nicht übereinstimmen, und abgestimmtKansas City
statt.
sollte es 'NC, GA' sein? (kein Leerzeichen) – meatspace
In welcher Sprache/Umgebung? – revo
Bitte teilen Sie Ihre Versuche. Außerdem wäre es gut zu wissen, mit welcher Programmiersprache/welchem Werkzeug Sie die Regex verwenden möchten. –