Reguläre Ausdrücke·eine semantische Versionsnummer

eine semantische Versionsnummer

Passt auf eine semantische Versionsnummer. Es ist an beiden Enden verankert, die ganze Zeichenkette muss also passen. Es gibt keine Fanggruppen.

Muster
/^\d+\.\d+\.\d+(?:-[0-9a-z.-]+)?(?:\+[0-9a-z.-]+)?$/i
Trefferbereich
die ganze Zeichenkette
Fanggruppen
0
Flags
i · Groß/Klein egal
Was es im ersten Beispiel fängt
1.0.0

Selbst ausprobieren

Beliebigen Text eingeben — die gefundenen Stellen werden hervorgehoben. Läuft im Browser und wird nirgendwohin gesendet.

1.0.0

1 Treffer

Beispiele, die passen

  • 1.0.0
  • 2.1.3-beta.1
  • 1.0.0+build5

Beispiele, die nicht passen

  • 1.0
  • v1.0.0

Andere Ausdrücke dieser Gruppe

So liest man das

  • Mit ^ und $ muss die ganze Zeichenkette passen; ohne sie darf der Treffer irgendwo sitzen. Verankern Sie alles, was Sie zur Prüfung einsetzen.
  • Runde Klammern ( ) fangen, was sie umschließen. Wer nur gruppieren will, schreibt (?: ) — sonst verschiebt sich die Nummerierung.
  • Jeder Ausdruck hier wird gegen seine Beispiele geprüft. Trotzdem sind „sieht aus wie eine E-Mail“ und „ist ein echtes Postfach“ zweierlei.
  • Verschachtelte offene Wiederholungen wie (a+)+ können bei manchen Eingaben explodieren. Achten Sie auf diese Form, bevor Sie fremde Ausdrücke übernehmen.

Häufige Fragen

Q. Wie lautet der Regex für eine semantische Versionsnummer?

^\d+\.\d+\.\d+(?:-[0-9a-z.-]+)?(?:\+[0-9a-z.-]+)?$ mit dem Flag i.

Q. Welche Zeichenketten passen?

Text wie 1.0.0 passt, Text wie 1.0 nicht.

Q. Muss die ganze Zeichenkette passen?

Ja. Er steht zwischen ^ und $, es passt also nur ein vollständiger Treffer.

Q. Wie nutze ich das Gefangene?

Es gibt keine Fanggruppen, zurück kommt nur der ganze Treffer (match[0]). Setzen Sie den gewünschten Teil in Klammern.