SELECT FIRSTNAME,LASTNAME, EMAIL
FROM CUSTOMERS
WHERE REGEXP_LIKE(EMAIL,'[A-Z0-9._%-]{1,10}@[a-z0-9._%-]{1,5}\.[net|com]','i');
Eu sei que isso não é prático ou faz muito sentido, mas é uma restrição com a qual estou trabalhando: endereço de e-mail com até 10 caracteres antes de @ seguido por até 5 caracteres e, em seguida, um '.' e finalmente a extensão .net ou .com. Isso funciona na maior parte, exceto que a restrição de 1 a 10 na primeira metade não parece fazer o que eu gostaria. Ele puxa praticamente qualquer número de caracteres antes do '@'. Por exemplo, ele deve aceitar jreed, mas não jodywilliamreed , pois o último tem mais de 10 caracteres. Alguém viu o que eu fiz aqui que causaria esse problema? editar: estou usando o desenvolvedor sql com oracle
Tente adicionar o
^
caractere ao seu regex, o que significa corresponder à posição no início da string, assim