Saltar al contenido

¿Limitar la longitud de los caracteres en una expresión regular?

Esta es la solución más válida que encomtrarás aportar, sin embargo obsérvala detenidamente y analiza si es compatible a tu proyecto.

Solución:

¿Hay alguna manera de limitar una expresión regular a 100 caracteres CON expresión regular?

Su ejemplo sugiere que le gustaría obtener un número desde el interior de la expresión regular y luego usar este número para colocar una longitud máxima en otra parte que coincida más adelante en la expresión regular. Esto generalmente no es posible en un solo paso. Su mejor apuesta es tener dos expresiones regulares separadas:

  • uno para que coincida con la longitud máxima que le gustaría usar
  • uno que usa el valor extraído previamente para verificar que su propia coincidencia no exceda la longitud especificada

Si solo desea limitar la cantidad de caracteres que coinciden con una expresión, la mayoría de las expresiones regulares admiten límites mediante el uso de llaves. Por ejemplo,

d3-d3-d4

coincidirá con los números de teléfono (EE. UU.): exactamente tres dígitos, luego un guión, luego exactamente tres dígitos, luego otro guión, luego exactamente cuatro dígitos.

Asimismo, puede establecer límites superiores o inferiores:

d5,10

significa “al menos 5, pero no más de 10 dígitos”.


Actualizar: El OP aclaró que está tratando de limitar el valorno la longitud. mi nueva respuesta es no uses expresiones regulares para eso. Extraiga el valor, luego compárelo con el máximo que extrajo del parámetro de tamaño. Es mucho menos propenso a errores.

Si desea restringir la entrada válida a valores enteros entre 1 y 100, esto lo hará:

^([1-9]|[1-9][0-9]|100)$

Explicación:

  1. ^ = inicio de entrada
  2. () = múltiples opciones para combinar
  3. primer argumento [1-9] – coincide con cualquier entrada entre 1 y 9
  4. | = O separador de argumentos
  5. Segundo Argumento [1-9][0-9] – entradas de partidos entre 10 y 99
  6. Último argumento 100 – Se explica por sí mismo: coincide con las entradas de 100

Este NO ACEPTARÁ: 1. Cero – 0 2. Cualquier número entero precedido por un cero – 01, 021, 001 3. Cualquier número entero mayor que 100

¡Espero que esto ayude!

Gez

Si quieres números del 1 al 100:

100|[1-9]d?

Reseñas y puntuaciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *