Uso la siguiente expresión regular para validar una lista de valores separados por comas.¿Hay una expresión regular para una lista separada por comas de valores discretos?
^Dog|Cat|Bird|Mouse(, (Dog|Cat|Bird|Mouse))*$
Los valores también se enumeran en una lista desplegable en validación de celda Excel abajo, por lo que el usuario puede seleccionar un solo valor de la lista desplegable, o escribir en varios valores separados por comas.
La expresión regular hace un buen trabajo evitando que el usuario ingrese algo más que los valores aprobados, pero no evita que el usuario ingrese duplicados. Por ejemplo, el usuario puede ingresar "Perro" y "Perro, Gato", pero el usuario también puede ingresar "Perro, Perro".
¿Hay alguna manera de evitar duplicados utilizando una única expresión regular similar? En otras palabras, necesito poder hacer cumplir una lista discreta de valores separados por comas aprobados.
Gracias!
Sí, cerca, pero no atrapa "Gato, perro, perro". ¡Gracias! – Kuyenda
No sé si esto funcionaría, pero tal vez puedas hacer la referencia (?! (\ 1 | \ 2 | \ 5 | \ 8) y cambiar el * a 4. Creo que esto podría explotar si Sin embargo, los grupos de captura no existen. No lo intenté, solo un pensamiento. – Tim
¿Por qué "\ 1 \ 2 \ 5 \ 8"? ¿No sería "\ 1 \ 2 \ 3 \ 4"? Gracias ! – Kuyenda