$phone_number = "(555) 324-1233"; if ($phone_number =~/^[(]?(d{0,3})[)]?[s]?[-]?(d{3})[s]?[-]?(d{4})[s]?[x]?(d*)$/){ #if ($phone_number =~/^(\D*\d{3}?)(\D*\d{3}?)(\D*\d{4}?)(\D*$)/){ #// we have a match, dump sub-patterns to $matches $phone = $1; #// original number $area_code = $2; #// 3-digit area code $exchange = $3; #// 3-digit exchange $number = $4; #// 4-digit number $extension = $5; #// extension print "**** $phone ** $area_code ** $exchange ** $number ** $extension ***** "; }else{print "no match";}