Dames,
ver la respuesta a esta pregunta en la dirección de la validación de la expresión regular: regex street address match
T El problema es que las direcciones de las calles varían tanto en el formato que es difícil codificarlas. Si está intentando validar direcciones, es muy difícil determinar si una de ellas no es válida en función de su formato. Esto devolvería la siguiente dirección (253 N. St. de la cereza), cualquier cosa con su mismo formato:
\d{1,5}\s\w.\s(\b\w*\b\s){1,2}\w*\.
Esto permite 1-5 dígitos para el número de casa, un espacio, un carácter seguido de un punto (para N. o S.), 1-2 palabras para el nombre de la calle, terminado con una abreviatura (como st. o rd.).
Como se usa regex para ver si las cosas cumplen con un estándar o protocolo (que usted define), probablemente no desee permitir las direcciones proporcionadas anteriormente, especialmente la primera con el guión, ya que no son muy estándar. se puede modificar mi código para permitir que para ellos si lo desea - puede agregar
(-?)
para permitir un guión, pero no requerir una.
Además, http://rubular.com/ es una forma rápida e interactiva de aprender regex. Pruébelo con las direcciones anteriores.
Este es un propósito muy vaga de una expresión regular. ¿Cuáles son las limitaciones? ¿Qué personajes están permitidos/no permitidos? Una dirección podría contener prácticamente cualquier cosa. Además, '0-99999' no tendrá ningún efecto, ya que esta es una clase de carácter: coincide con un carácter a la vez, por lo que debe ser simplemente' 0-9'. – Utkanos
Regex es demasiado específico o demasiado flojo para este propósito. Solo puede validar para ver algo ** que parece ** una dirección o no. – nhahtdh