Ich weiß, dass dies für die meisten Leute, die RegEx häufig verwenden, offensichtlich sein mag, aber falls Leser neu in RegEx sind, dachte ich, ich sollte auf eine Beobachtung hinweisen, die ich gemacht habe und die für eines meiner Projekte hilfreich war.
In einer früheren Antwort von @kennytm:
^\d{5}(?:[-\s]\d{4})?$
…? = Das Muster davor ist optional (für Bedingung 1)
Wenn Sie sowohl standardmäßige 5-stellige als auch +4 Postleitzahlen zulassen möchten, ist dies ein gutes Beispiel.
Um nur Postleitzahlen im US-Format 'Postleitzahl + 4' zu finden, wie ich es tun musste (nur Bedingungen 2 und 3), entfernen Sie einfach die letzte, ?
damit sie immer mit der letzten 5-Zeichen-Gruppe übereinstimmt.
Ein nützliches Tool, das ich zum Basteln mit RegEx empfehle, ist unten verlinkt:
https://regexr.com/
Ich benutze dieses Tool häufig, wenn ich RegEx finde, das etwas Ähnliches tut, was ich brauche, aber etwas besser angepasst werden könnte. Es hat auch ein raffiniertes RegEx-Referenzmenü und eine informative Oberfläche, die Sie darüber informiert, wie sich Ihre Änderungen auf die Übereinstimmungen mit dem von Ihnen eingegebenen Beispieltext auswirken.
Wenn ich etwas falsch gemacht oder eine wichtige Information verpasst habe, korrigieren Sie mich bitte.
\d{5}([ \-]\d{4})?
.