Este es un caso obvio de "lo estás haciendo mal". Yo en realidad no tenemos intención de hacer esto, pero una conversación en el trabajo espoleé esta pregunta:Usar expresiones regulares para comparar números
¿Se puede generar una expresión regular para determinar si un número entero es menor que un valor arbitrario.
Para algunos valores esto es fácil. Para enteros menores de 1000, \ d {1,3} debería hacer el truco. Para los enteros < 500, es un poco más complicado, pero no tan malo, ya que puedes usar [0-4] {0,1} \ d {1,2}.
Una vez que se llega a los valores arbitrarios se vuelve mucho más complicado. Por ejemplo, todos los números menores que 255 serían algo así como \ d {1,2} | [0-1] \ d {2} | [2] [0-4] \ d | [2] [5] [0-4].
¿Hay una sola expresión regular que funcione aquí? ¿O tienes que generar programáticamente la expresión regular?
(Y de nuevo, permítanme señalar que no tengo ninguna intención de realmente hacer esto. Es evidente que el uso de "foo < bar" en su lenguaje de programación favorito es mucho más eficiente y fácil de leer.)
Se puede combinar las tres expresiones que tienen que obtener uno solo si eso es lo que quiere decir. – Dervall