RegExLib.com - The first Regular Expression Library on the Web!

Please support RegExLib Sponsors

Sponsors

Regular Expression Details

Title Test Find RFC5322 spec'd bracketed email validation
Expression
((((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?(\(((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21-\x27\x2a-\x5b\x5d-\x7e]|((\\([\x01-\x09\x0b\x0c\x0e-\x7f]|\x0a*\x0d*([\x00-\x09\x0b\x0c\x0e-\x7f]\x0a*\x0d*)*))|\\(\x00|[\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x0a|\x0d))|))*)+((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?\))+)*(((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?(\(((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21-\x27\x2a-\x5b\x5d-\x7e]|((\\([\x01-\x09\x0b\x0c\x0e-\x7f]|\x0a*\x0d*([\x00-\x09\x0b\x0c\x0e-\x7f]\x0a*\x0d*)*))|\\(\x00|[\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x0a|\x0d))|))*)+((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?\))+)|((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*)))?\<((((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?(\(((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21-\x27\x2a-\x5b\x5d-\x7e]|((\\([\x01-\x09\x0b\x0c\x0e-\x7f]|\x0a*\x0d*([\x00-\x09\x0b\x0c\x0e-\x7f]\x0a*\x0d*)*))|\\(\x00|[\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x0a|\x0d))|))*)+((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?\))+)*(((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?(\(((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21-\x27\x2a-\x5b\x5d-\x7e]|((\\([\x01-\x09\x0b\x0c\x0e-\x7f]|\x0a*\x0d*([\x00-\x09\x0b\x0c\x0e-\x7f]\x0a*\x0d*)*))|\\(\x00|[\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x0a|\x0d))|))*)+((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?\))+)|((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*)))?[+A-Za-z0-9!#$%&'*/=?\^_`{}|\~-]+(\.[+A-Za-z0-9!#$%&'*/=?\^_`{}|\~-]+)*(((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?(\(((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21-\x27\x2a-\x5b\x5d-\x7e]|((\\([\x01-\x09\x0b\x0c\x0e-\x7f]|\x0a*\x0d*([\x00-\x09\x0b\x0c\x0e-\x7f]\x0a*\x0d*)*))|\\(\x00|[\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x0a|\x0d))|))*)+((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?\))+)*(((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?(\(((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21-\x27\x2a-\x5b\x5d-\x7e]|((\\([\x01-\x09\x0b\x0c\x0e-\x7f]|\x0a*\x0d*([\x00-\x09\x0b\x0c\x0e-\x7f]\x0a*\x0d*)*))|\\(\x00|[\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x0a|\x0d))|))*)+((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?\))+)|((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*)))?|(((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?(\(((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21-\x27\x2a-\x5b\x5d-\x7e]|((\\([\x01-\x09\x0b\x0c\x0e-\x7f]|\x0a*\x0d*([\x00-\x09\x0b\x0c\x0e-\x7f]\x0a*\x0d*)*))|\\(\x00|[\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x0a|\x0d))|))*)+((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?\))+)*(((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?(\(((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21-\x27\x2a-\x5b\x5d-\x7e]|((\\([\x01-\x09\x0b\x0c\x0e-\x7f]|\x0a*\x0d*([\x00-\x09\x0b\x0c\x0e-\x7f]\x0a*\x0d*)*))|\\(\x00|[\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x0a|\x0d))|))*)+((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?\))+)|((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*)))?\x22((((([\x20\x09]*\x0d\x0a)?[\x20\x09]+)|[\x20\x09]+(\x0d\x0a[\x20\x09]+)*))?(([\x21\x23-\
Description
RFC5322 is the new email spec that replaces 2822 which replaces 822. I built this directly from the [A]BNF grammars from RFC5322, 2822, 1034, 5234. the biggest problem I ran into was the fact that regex can't do recursion, so I replaced it with repetition. unfortunately, this web site truncates the regex.
Matches
Non-Matches
Author Rating: Not yet rated. Jim Michaels
Source RFC5322
Your Rating
Bad Good

Enter New Comment

Title

Name

Comment

Spammers suck - we apologize. Please enter the text shown below to enable your comment (not case sensitive - try as many times as you need to if the first ones are too hard):

Existing User Comments

Copyright © 2001-2024, RegexAdvice.com | ASP.NET Tutorials