

Stop Validating Email Addresses With Your Complex Regex - The PHP Way - legierski
http://blog.self.li/post/31017029867/validate-email-php

======
anonydsfsfs
You're still using regular expressions that way. PHP implements that code with
the following massive regular expression (line 525 of
ext/filters/logical_filters.c):

const char regexp[] =
"/^(?!(?:(?:\\\x22?\\\x5C[\\\x00-\\\x7E]\\\x22?)|(?:\\\x22?[^\\\x5C\\\x22]\\\x22?)){255,})(?!(?:(?:\\\x22?\\\x5C[\\\x00-\\\x7E]\\\x22?)|(?:\\\x22?[^\\\x5C\\\x22]\\\x22?)){65,}@)(?:(?:[\\\x21\\\x23-\\\x27\\\x2A\\\x2B\\\x2D\\\x2F-\\\x39\\\x3D\\\x3F\\\x5E-\\\x7E]+)|(?:\\\x22(?:[\\\x01-\\\x08\\\x0B\\\x0C\\\x0E-\\\x1F\\\x21\\\x23-\\\x5B\\\x5D-\\\x7F]|(?:\\\x5C[\\\x00-\\\x7F]))
_\\\x22))(?:\\\\.(?:(?:[\\\x21\\\x23-\\\x27\\\x2A\\\x2B\\\x2D\\\x2F-\\\x39\\\x3D\\\x3F\\\x5E-\\\x7E]+)|(?:\\\x22(?:[\\\x01-\\\x08\\\x0B\\\x0C\\\x0E-\\\x1F\\\x21\\\x23-\\\x5B\\\x5D-\\\x7F]|(?:\\\x5C[\\\x00-\\\x7F]))_
\\\x22))) _@(?:(?:(?!._ [^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-+[a-z0-9]+)
_\\\\.){1,126}){1,}(?:(?:[a-z][a-z0-9]_
)|(?:(?:xn--)[a-z0-9]+))(?:-+[a-z0-9]+)
_)|(?:\\\\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:._
[a-f0-9][:\\\\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\\\\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\\\\]))$/iD";

