un número de versión semántica
Coincide con un número de versión semántica. Está anclado en ambos extremos, así que debe coincidir la cadena entera. No tiene grupos de captura.
Patrón
/^\d+\.\d+\.\d+(?:-[0-9a-z.-]+)?(?:\+[0-9a-z.-]+)?$/i- Alcance
- la cadena entera
- Grupos de captura
- 0
- Banderas
- i · ignorar mayúsculas
- Lo que captura en el primer ejemplo
- 1.0.0
Pruébalo
Escribe cualquier texto y se marcará lo que captura la expresión. Todo ocurre en tu navegador y no se envía a ninguna parte.
1.0.0
1 coincidencia
Ejemplos que coinciden
- 1.0.0
- 2.1.3-beta.1
- 1.0.0+build5
Ejemplos que no coinciden
- 1.0
- v1.0.0
Otras expresiones del grupo
^(?:[01]\d|2[0-3]):[0-5]\d$una hora en formato de 24 horas^(?:0?[1-9]|1[0-2]):[0-5]\d\s?(?:am|pm)$una hora con am o pm^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$una marca de tiempo ISO completa^P(?=\d|T\d)(?:\d+Y)?(?:\d+M)?(?:\d+D)?(?:T(?:\d+H)?(?:\d+M)?(?:\d+S)?)?$una duración ISO^\d+$un entero sin signo^[+-]?\d+$un entero que puede llevar signo^-?\d+(?:\.\d+)?$un número que puede tener decimales^-?\d+(?:\.\d+)?[eE][+-]?\d+$un número en notación científicaCómo leerlo
- Con ^ y $ alrededor, debe coincidir la cadena entera; sin ellos, la coincidencia puede estar en cualquier parte. Ancla siempre lo que uses para validar.
- Los paréntesis ( ) capturan lo que envuelven. Si solo necesitas agrupar, escribe (?: ) para que no se desplace la numeración.
- Cada expresión de aquí se comprueba con sus ejemplos. Aun así, "parece un correo" y "es un buzón real" son cosas distintas.
- Las repeticiones abiertas anidadas como (a+)+ pueden dispararse con ciertas entradas. Busca esa forma antes de pegar una expresión ajena.
Preguntas frecuentes
Q. ¿Cuál es la regex para un número de versión semántica?
^\d+\.\d+\.\d+(?:-[0-9a-z.-]+)?(?:\+[0-9a-z.-]+)?$, con la bandera i.
Q. ¿Qué cadenas coinciden?
Un texto como 1.0.0 coincide; uno como 1.0 no.
Q. ¿Debe coincidir la cadena entera?
Sí. Va entre ^ y $, así que solo pasa una coincidencia completa.
Q. ¿Cómo uso lo capturado?
No hay grupos de captura, así que solo vuelve la coincidencia completa (match[0]). Envuelve entre paréntesis la parte que necesites.