Kennt sich jemand mit Regex aus?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Für die von Dir verlinkten Beispiele würde ich folgendes Pattern verwenden:

^[TF]\s*\+4[39]\s*[1-9]\s*(\d\s*){2,12}$

Erklärung:

  • Zeilenanfang
  • Ein Zeichen T oder F
  • gefolgt von keinem oder mehreren Leerzeichen
  • ein + (mit einem Backslash escapen, da + ein Steuerzeichen ist!)
  • Zeichen 4 gefolgt von Zeichen 3 oder 9
  • gefolgt von keinem oder mehreren Leerzeichen (man weiß ja nie ob oder wie die Ziffernfolge getrennt wurde)
  • eine Zeichen 1 bis 9 (auf eine Ländervorwahl kann keine 0 folgen)
  • gefolgt von keinem oder mehreren Leerzeichen
  • eine Gruppierung: beliebige Ziffer und kein oder mehrere Leerzeichen ,Diese mindestens 2 mal, aber nicht öfter als 12 mal. (!eine internationale Telefonnummer kann nie Länger als insgesamt 15 Ziffern haben! (deshalb die 12 3+12=15)
  • Zeilenende

Wenn Du auf Regeln, wie :auf eine Ländervorwahl kann keine 0 folgen und die festgesetzte Länge und auch auf das T oder F am Zeilenanfang, verzichten kannst reicht :

\+4[39]\s*(\d\s*)+

Ich bin kein RegEx Profi, aber würde sowas in der Art funktionieren?

/^\+(43|49)\s\d{3}\s\d{2}\s\d{2}\s\d{2}\s\d{2}$/

metadev550 
Fragesteller
 13.02.2023, 17:47

hast du probiert das in regex 101 einzugeben?
Bei mir zeigt er mir leider keine Matches an

0
Recorsi  13.02.2023, 18:53
@metadev550

Komischerweise funktioniert bei mir keine Expression mit deinem Beispiel. Ich kann aber auch nicht herausfinden, woran das liegt

0