Pregunta

 SELECT FIRSTNAME,LASTNAME, EMAIL
   FROM CUSTOMERS
   WHERE REGEXP_LIKE(EMAIL,'[A-Z0-9._%-]{1,10}@[a-z0-9._%-]{1,5}\.[net|com]','i');

Sé que esto no es práctico o tiene mucho sentido, pero es una restricción con la que estoy trabajando: dirección de correo electrónico con hasta 10 caracteres antes de @ seguido de hasta 5 caracteres, luego A '. y finalmente la extensión .NET o .com. Esto funciona en su mayor parte, excepto que la restricción 1-10 en la primera mitad no parece hacer lo que me gustaría. Extrae casi cualquier número de caracteres antes del '@'. Por ejemplo, debería aceptar jreed pero no jodywilliamreed Como el último es más de 10 caracteres. ¿Alguien ve lo que he hecho aquí que causaría este problema? Editar: estoy usando SQL Developer con Oracle

¿Fue útil?

Solución

Intenta agregar el ^ personaje a tu regex, lo que significa coincidir con la posición al comienzo de la cadena, como esta

^[A-Z0-9._%-]{1,10}@[a-z0-9._%-]{1,5}\.[net|com]
Licenciado bajo: CC-BY-SA con atribución
No afiliado a dba.stackexchange
scroll top