No soy regex’pert pero aquí hay algo que recuerdo ser el más desagradable que he visto 🙂
(?: (?: \ r \ n)? [\ t]) * (?: (?: (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031 ] + (?: (?: (?: \ r \ n)? [\ t]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\] ])) | “(?: [^ \” \ r \\] | \\. | (?: (?: \ r \ n)? [\ t])) * “(? 🙁 ?: \ r \ n)? [\ t]) *) (?: \. (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ ” . \ [\] \ 000- \ 031] + (? :(? :(?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [“() <> @, ;: \\ “. \ [\]])) |” (?: [^ \ “\ r \\] | \\. | (?: (?: \ r \ n)? [\ t])) * “(?: (?: \ r \ n)? [\ t]) *)) * @ (?: (?: \ r \ n)? [\ t]) * (?: [^ () < > @,;: \\ “. \ [\] \ 000- \ 0 31] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [ \ [“() <> @,;: \\”. \ [\]])) | \ [([^ \ [\] \ r \\] | \\.) * \] (? :(? : \ r \ n)? [\ t]) *) (?: \. (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [” () < > @,;: \\ “. \ [\]])) | \ [([^ \ [\] \ r \\] | \\.) * \] (?: (?: \ r \ n) ? [\ t]) *)) * | (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ r \ n)? [\ t]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]])) | “(?: [^ \” \ r \\] | \\. | (?: (?: \ r \ n)? [\ t])) * “(?: (?: \ r \ n)? [\ t]) *) * \ <(?: (?: \ r \ n)? [\ t]) * (?: @ (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ r \ n)? [\ t]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]] )) | \ [([^ \ [\] \ r \\] | \\.) * \] (?: (?: \ r \ n)? [\ t]) *) (?: \. ( ?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [“() <> @,;: \\” . \ [\]])) | \ [([^ \ [\] \ r \\] | \\.) * \] (?: (?: \ r \ n)? [\ t]) *) ) * (?:, @ (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\ ]])) | \ [([^ \ [\] \ r \\] | \\.) * \] (?: (?: \ r \ n)? [\ t]) *) (?: \ . (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ r \ n)? [\ t]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]])) | \ [([^ \ [\] \ r \\] | \\.) * \] (?: (?: \ r \ n)? [\ t]) *)) *) * :(? :(? : \ r \ n)? [\ t]) *)? (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (? :(? 🙁 ?: \ r \ n)? [\ t]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]])) | “(?: [ ^ \ “\ r \\] | \\. | (?: (?: \ r \ n)? [\ t])) *” (?: (?: \ r \ n)? [\ t]) *) (?: \. (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (? :(? 🙁 ?: \ r \ n)? [\ T]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\ ]])) | “(?: [^ \” \ r \\] | \\. | (?: (?: \ r \ n)? [\ t])) * “(?: (?: \ r \ n)? [\ t]) *)) * @ (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [“() <> @ ,; : \\ “. \ [\]])) | \ [([^ \ [\] \ r \\] | \\.) * \] (?: (?: \ r \ n)? [\ t ]) *) (?: \. (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ “. \ [\] \ 000 – \ 031] + (? : (?: (?: \ r \ n)? [\ t]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]])) | \ [([^ \ [\] \ r \\] | \\.) * \] (? :(?: \ r \ n)? [\ t]) *)) * \> (? :(? : \ r \ n)? [\ t]) *) | (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (? :(? 🙁 ?: \ r \ n)? [\ t]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]])) | “(?: [ ^ \ “\ r \\] | \\. | (?: (?: \ r \ n)? [\ t])) *” (?: (?: \ r \ n)? [\ t]) *) *: (?: (?: \ r \ n)? [\ t]) * (?: (?: (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]])) | “(?: [^ \” \ r \\] | \\. | (?: (?: \ r \ n)? [\ t])) * “(? 🙁 ?: \ r \ n)? [\ t]) *) (?: \. (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @ ,; : \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [” () <> @,;: \\ “. \ [\]])) |” (?: [^ \ “\ r \\] | \\. | (?: (?: \ r \ n)? [\ t])) * “(?: (?: \ r \ n)? [\ t]) *)) * @ (?: (?: \ r \ n)? [\ t]) * (?: [ ^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | ( ? = [\ [“() <> @,;: \\”. \ [\]])) | \ [([^ \ [\] \ r \\] | \\.) * \] (? : (?: \ r \ n)? [\ t]) *) (?: \. (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @ ,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [” () <> @,;: \\ “. \ [\]])) | \ [([^ \ [\] \ r \\] | \\.) * \] (?: (?: \ r \ n)? [\ t]) *)) * | (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (? :(? :(? : \ r \ n)? [\ t]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]])) | “(?: [^ \” \ r \\] | \\. | (?: (?: \ r \ n)? [\ t])) * “(? :(? : \ r \ n)? [\ t]) *) * \ <(?: (?: \ r \ n)? [\ t]) * (?: @ (?: [^ () <> @, ; : \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [” () <> @,;: \\ “. \ [\]])) | \ [([^ \ [\] \ r \\] | \\.) * \] (?: (?: \ r \ n )? [\ t]) *) (?: \. (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [“() <> @,;: \\ “. \ [\]])) | \ [([^ \ [\] \ r \\] | \\.) * \] (?: (?: \ r \ n)? [\ t] ) *)) * (?:, @ (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]])) | \ [([^ \ [\] \ r \\] | \\.) * \] (?: (?: \ r \ n)? [\ t]) *) ( ?: \. (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ r \ n)? [\ t]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]]) ) | \ [([^ \ [\] \ r \\] | \\.) * \] (?: (?: \ r \ n)? [\ t]) *)) *) * :(? : (?: \ r \ n)? [\ t]) *)? (?: [^ () <> @,;: \\ “. \ [\] \ 0 00- \ 031] + (?: (?: (?: \ r \ n)? [\ t]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]])) | ” (?: [^ \ “\ r \\] | \\. | (?: (?: \ r \ n)? [\ t])) *” (?: (?: \ r \ n)? [ \ t]) *) (?: \. (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [“() <> @,;: \\” . \ [\]])) | “(?: [^ \” \ r \\] | \\. | (?: (?: \ r \ n)? [\ t])) * “(?: (?: \ r \ n)? [\ t]) *)) * @ (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T ]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]])) | \ [([^ \ [\] \ r \\] | \\.) * \] (?: (?: \ r \ n)? [\ t]) *) ( ?: \. (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ r \ n)? [\ t]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]]) ) | \ [([^ \ [\] \ r \\] | \\.) * \] (?: (?: \ r \ n)? [\ t]) *)) * \> (?: (?: \ r \ n)? [\ t]) *) (?:, \ s * (?: (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [ \]])) | “(?: [^ \” \ r \\] | \\. | (?: (?: \ r \ n)? [\ t])) * “(? 🙁 ?: \ r \ n)? [\ t]) *) (?: \. (? :(?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \ \ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [” () <> @,;: \\ “. \ [\]])) |” (?: [^ \ “\ r \\] | \\. | (?: (?: \ r \ n)? [\ t] )) * “(?: (?: \ r \ n)? [\ t]) *)) * @ (?: (?: \ r \ n)? [\ t]) * (?: [^ ( ) <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]])) | \ [([^ \ [\] \ r \\] | \\.) * \] (? 🙁 ?: \ r \ n)? [\ t]) *) (?: \. (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @ ,; : \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [” () <> @,;: \\ “. \ [\]])) | \ [([^ \ [\] \ r \\] | \\.) * \] (?: (?: \ r \ n )? [\ t]) *)) * | (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ r \ n)? [\ t]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]])) | “(?: [^ \” \ r \\] | \\. | (?: (?: \ r \ n)? [\ t])) * “(?: (?: \ r \ n)? [\ t]) *) * \ <(?: (?: \ r \ n)? [\ t]) * (?: @ (?: [^ () <> @,;: \ \ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [” () <> @,;: \\ “. \ [\]])) | \ [([^ \ [\] \ r \\] | \\.) * \] (?: (?: \ r \ n)? [\ t]) *) (?: \. (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ “. \ [\ ] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [“() <> @,;: \\ “. \ [\]])) | \ [([^ \ [\] \ r \\] | \\.) * \] (?: (?: \ r \ n)? [\ t]) * )) * (?:, @ (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [ \]])) | \ [([^ \ [\] \ r \\] | \\.) * \] (?: (?: \ r \ n)? [\ t]) *) (?: \. (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (? : (?: (?: \ r \ n)? [\ t]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]])) | \ [([^ \ [\] \ r \\] | \\.) * \] (?: (?: \ r \ n)? [\ t]) *)) *) * :(? 🙁 ?: \ r \ n)? [\ t]) *)? (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ R \ n)? [\ T]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]])) | “(?: [^ \” \ R \\] | \\. | (? : (?: \ r \ n)? [\ t])) * “(?: (?: \ r \ n)? [\ t]) *) (?: \. (? 🙁 ?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ r \ n)? [\ t]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]])) | “(?: [^ \” \ r \\] | \\. | (?: (?: \ r \ n)? [\ t])) * “(?: (?: \ r \ n)? [\ t]) *)) * @ (?: (?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (? 🙁 ?: (?: \ r \ n)? [\ t]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]])) | \ [ ([^ \ [\] \ r \\] | \\.) * \] (?: (?: \ r \ n)? [\ t]) *) (?: \. (? 🙁 ?: \ r \ n)? [\ t]) * (?: [^ () <> @,;: \\ “. \ [\] \ 000- \ 031] + (?: (?: (?: \ r \ n)? [\ t]) + | \ Z | (? = [\ [“() <> @,;: \\”. \ [\]])) | \ [([^ \ [\ ] \ r \\] | \\.) * \] (?: (?: \ r \ n)? [\ t]) *)) * \> (? :(?: \ r \ n)? [ \ t]) *)) *)?; \ s *)
referencia: Correo :: RFC822 :: Dirección