regex = / ^             # Beginning of string
          ((No\.?)\s+)? # Optional: No[.]
  \d+ \s+               # Digits and spacing
  ((\w|[.'-])+          # Street name... may be
    \s*                 #   multiple words.
  )+
  (,\s*                 # Optional: Comma etc.
    (Apt\.?|Suite|\#)   # Apt[.], Suite, #
    \s+                 # Spacing
    (\d+|[A-Z])         # Numbers or single letter
  )?
  $                     # End of string
/x

