Estoy tratando de validar la primera parte de una dirección de correo electrónico y quiero permitir hasta dos puntos, por ejemplo, estos serían válidos:
He probado este patrón de expresiones regulares, pero solo coincide con un punto
^([\w-]+[.-]?[']?[\w-]+)@([\w.-]+)$
¿Cómo podría cambiar el patrón para permitir hasta dos puntos?
^([\w\-]+\.?){0,2}[\w\-]+@[\w.\-]+$ El truco es escribir "Puedes tener caracteres sin punto antes de la @ " ( [\w\-]+@ ), pero antes de eso, puedes tener de 0 a 2 veces una secuencia terminada con punto: ([\w\-]+\.?){0,2}
Le sugiero que escape de su - , ya que en algunas circunstancias es una instrucción especial.
Si desea guardar la captura de grupo que sugirió (¿operador Elvis ?: impide que se capturen grupos de servicios públicos):
^((?:[\w\-]*\.?){0,2}[\w\-]+)@([\w.-]+)$