Ich möchte einen regulären Ausdruck für eine Standardtelefonnummer vom Typ US schreiben, die die folgenden Formate unterstützt:
###-###-####
(###) ###-####
### ### ####
###.###.####
Dabei bedeutet # eine beliebige Zahl. Bisher habe ich mir folgende Ausdrücke ausgedacht
^[1-9]\d{2}-\d{3}-\d{4}
^\(\d{3}\)\s\d{3}-\d{4}
^[1-9]\d{2}\s\d{3}\s\d{4}
^[1-9]\d{2}\.\d{3}\.\d{4}
beziehungsweise. Ich bin mir nicht ganz sicher, ob der letzte für den gepunkteten Scheck korrekt ist. Ich möchte auch wissen, ob es eine Möglichkeit gibt, einen einzelnen Ausdruck anstelle der 4 verschiedenen zu schreiben, die den verschiedenen von mir erwähnten Formaten entsprechen. Wenn ja, bin ich mir nicht sicher, wie ich das mache. Und wie ändere ich den Ausdruck / die Ausdrücke so, dass ich auch eine Bedingung zur Unterstützung der Vorwahl als optionale Komponente einfügen kann? Etwas wie
+1 ### ### ####
Dabei ist +1 die Vorwahl und optional.