*/ Format for lists - Phone Number Title First Name Last Name Address part 1 Address part 2 City State zip code or Zip plus four with a dash
\x28\d{3}\x29\d{7} # (Area code) seven-digit phone number
(\s|,) # White space or comma delimiter
(M(R|S)) # Title (gender)
(\s|,) # White space or comma delimiter
[\w\.\']{2,} # First Name
(\s|,) # White space or comma delimiter
[\w\.\']{2,} # Last Name
(\s|,) # White space or comma delimiter
\d{1,} # Address1 is assumed to be numeric
(\s|,) # White space or comma delimiter
([\w\d\.\']{1,}(\s|,)){1,5} # Address2 is assumed to one to five part alpha numeric
([\w\.\']{2,}(\s|,)){1,3} # City is assumed to be one to three part alpha numeric
(A[LKSZRAP]|C[AOT]|D[EC]|F[LM]|G[AU]| # State is assumed to be two-letter Upper case
HI|I[ADL N]|K[SY]|LA|M[ADEHINOPST]|
N[CDEHJMVY]|O[HKR]|P[ARW]|RI|S[CD]|
T[NX]|UT|V[AIT]|W[AIVY])
(\s|,) # White space or comma delimiter
\d{5}-\d{4}|\d{5} # Zip code or Zip code plus four with dash
Entire Regex expression:
\x28\d{3}\x29\d{7}(/s|,)(M(R|S))(\s|,)[\w\.\']{2,}(\s|,)[\w\.\']{2,}(\s|,)\d{1,}(\s|,)([\w\d\.\']{1,}(\s|,)){1,5}([\w\.\']{2,}(\s|,)){1,3}(A[LKSZRAP]|C[AOT]|D[EC]|F[LM]|G[AU]|HI|I[ADL N]|K[SY]|LA|M[ADEHINOPST]|N[CDEHJMVY]|O[HKR]|P[ARW]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])(\s|,)(\d{5}-\d{4}|\d{5})
Test Cases
(402)5551212,MR,Fred,Flintstone,4545,Rock Ridge Road Apt 5,Bedrock,NE,68101-4545
(402)5551212,MR,Fred,Flintstone,4545,Rock Ridge Road Apt 5,Bedrock City,NE,68101
(402)5551212,MR,Fred,Flintstone,4545,Rock Ridge Road Apt 5A,Bedrock City,NE,68101-4545
(402)5551212,MR,Fred,Flintstone,4545,Rock Ridge Road Apt 5,New Bedrock City,NE,68101-4545