2 Stimmen

Wie schreibe ich Regex richtig, damit es bestimmte Anfangszahlen abgleicht?

Ich habe einen Regex, den ich erweitern möchte, damit er zu Beginn einer spezifischen Eingabe passt.

Derzeit passt mein Regex zu Folgendem: 3 Ziffern - 7 Ziffern und 3Ziffern7Ziffern(zusammen)

Ich möchte dies erweitern, indem ich Folgendes hinzufüge:

+46 (Leerzeichen) 073-4567891 (beginnt mit +46 gefolgt von einem Leerzeichen, gefolgt von 3 Ziffern und 7 Ziffern.

Mein Versuch:

^\d{3}-\d{7}$|^\d{10}$|^[+46]\s\d{3}-\d{7}$|^[+]\d{46}\s\d{10}$

Ich benutze diese Seite, um zu überprüfen, ob der Regex korrekt ist, aber ich erhalte keine Treffer.

Was mache ich hier falsch?

Wenn etwas unklar ist, frag einfach nach

4voto

woutervs Punkte 1480

Der folgende Regex: (\+46)? ?(\d{3})(-| )?(\d{6,7}) erfasst dies als Eingabe:

  • +460764567891
  • +46 076 567891
  • +46 076567891
  • +46 076-567891
  • 0764567891
  • 076 4567891

1voto

Tafari Punkte 2569

Ihr Muster funktioniert nicht, da Sie [+46] verwenden, was bedeutet, dass Sie JEDES Zeichen aus den Klammern wählen. Passen Sie also entweder Ihr Muster an oder:

Verwenden Sie dieses Muster, um den erwähnten String zu erfassen:

^\+46 \d{3}-\d{7}$

\+ - Erstes Escape, um das 'plus' Zeichen zu erhalten,

46 - dann 46 explizit, da sie (wahrscheinlich) in Ihrem Fall nie ändern,

- Leerzeichen erfassen,

\d{3}-d{7} - drei Ziffern gefolgt von einem Bindestrich und sieben Ziffern.

1voto

Rawling Punkte 47404

Ihr Problem ist, dass [+46] "ein +, 4 oder 6 Zeichen" entspricht, und [+]\d{46} "ein + Zeichen, gefolgt von 46 Ziffern" entspricht - was beides nicht das ist, was Sie wollen!

Ersetzen Sie beide durch entweder [+]46 oder \+46, die beide "ein + Zeichen gefolgt von einem 4-Zeichen und einem 6-Zeichen" entsprechen. (Sowohl [ ] als auch \ sind nur alternative Möglichkeiten, um das + Zeichen zu maskieren.)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X