Just to be pedantic, CSV files use commas as delimiters (that's what the "C" stands for), with pretty specific rules for things like using quotes.

I stole parts of what I used to identify the email address from here: http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html

The only parts you should have to mess around with are this at the beginning:
Code:
(^|\S)\s*
...and this at the end...
Code:
\s*(\S|$)
\s is any white-space (space, tab, newline, carriage return, vertical tab)
\S is any character that is NOT a white-space character

To include tabs as delimiters, I believe you could change those parenthesized bits to include the tab character via \t:
Code:
(^|[\S\t])\s*
Code:
([\S\t]|$)