I like that. I had to do something similar long hand in C++ last term as practice on operator >> overloading - but with the additional validation that area code and
exchange could not begin with 0 or 1.
Your regex is so much prettier. Thanks for sharing it's elegance.
I must be blind, but is there a blog subscription button on your site?