3 ms·
A typical regex looks like this: \b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b Which is also what happens when a cat walks across the keyboard.
by yen223 14y ago
A typical regex looks like this:
\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b
Which is also what happens when a cat walks across the keyboard.
- Argorak 14y agoCall me weird, but I find that very readable.
- Auguste 14y agoI find that perfectly readable, except for the \b which I hadn't seen before. It's matching an all-uppercase email address.
- subsystem 14y agoThere's plenty of upper case e-mail addresses that won't match that expression.
- aidos 14y agoWell, if you want to be fully compliant you can go for this 6kb monster http://ex-parrot.com/~pdw/Mail-RFC822-Address.html http://ex-parrot.com/~pdw/Mail-RFC822-Address.html
- InclinedPlane 14y ago/i
- subsystem 14y agoThere's characters missing[1] and the tld is too short[2]. And even if that's fixed, we still don't match internationalized addresses or actually validate that the e-mail address exists. You're probably better off with something like... if "@" in email and "." in email.split("@")[1]: send_verification(email) ...but you should probably also check for common misspellings like "gmial.com" etc. [1] http://en.wikipedia.org/wiki/Email_address#Syntax http://en.wikipedia.org/wiki/Email_address#Syntax [2] http://en.wikipedia.org/wiki/List_of_Internet_top-level_domains http://en.wikipedia.org/wiki/List_of_Internet_top-level_doma...
- vorg 14y agoThere's nothing wrong with regex syntax. But there _is_ something wrong with the formatting of your example: it's not readable. Perhaps you _should_ write (assuming Java-syntax): (?x: #standard token is an uppercase letter, digit, dot, or hyphen \b [A-Z0-9._%-]+ #1 or more of standard token, underscore, or percent sign @ #at-sign [A-Z0-9.-]+ #1 or more standard tokens \. #dot [A-Z]{2,4} #2 to 4 uppercase letters \b ) We can easily optimize for readability with regex syntax.
- arethuza 14y agoYou can say that about pretty much anything if you aren't familiar with the syntax. That looks pretty readable to me - certainly far more portable and readable than equivalent code. [It's also perfectly obvious that if this is an attempt to match email addresses that it's not a very good one - but I don't know the context where it's supposed to be used, it might be good enough for whatever the author intended].