Quindi questo è un caso ovvio di "stai facendo male". In realtà non intendo farlo, ma una conversazione al lavoro ha sollevato questa domanda:Utilizzo di espressioni regolari per confrontare i numeri
È possibile generare un'espressione regolare per determinare se un numero intero è inferiore a un valore arbitrario.
Per alcuni valori questo è facile. Per numeri interi inferiori a 1000, \ d {1,3} dovrebbe fare il trucco. Per gli interi < 500, è un po 'più complicato, ma non così male, dato che puoi usare [0-4] {0,1} \ d {1,2}.
Una volta arrivati a valori arbitrari, diventa molto più complicato. Ad esempio, tutti i numeri inferiori a 255 sarebbero qualcosa come \ d {1,2} | [0-1] \ d {2} | [2] [0-4] \ d | [2] [5] [0-4].
C'è una singola espressione regolare che funziona qui? O devi generare in modo programmatico la regex?
(E di nuovo, mi permetta di sottolineare che non ho alcuna intenzione di fare questo. Ovviamente usando "foo < bar" nel linguaggio di programmazione preferito è molto più efficiente e di facile lettura.)
è possibile combinare le tre espressioni si deve ottenere uno solo, se è questo che vuoi dire. – Dervall