Just a small nitpick. Dave's example is superb. I tell myself that I can think in Regular Expression, but I think Dave really can.
This is really a pattern for a potentially valid SSN, and in searching data files this is all one could likely achieve. To truly validate an SSN, one would need to take that matched pattern and then feed it through some sort of validation service.