Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

348
Vistas
Regex: seleccione hasta que aparezca el primer espacio o coma

Tengo el siguiente ejemplo de direcciones americanas.

 6301 Stonewood Dr Apt-728, Plano TX-75024 13323 Maham Road, Apt # 1621, Dallas, TX 75240 17040 Carlson Drive, #1027 Parker, CO 80134 3465 25th St., San Francisco, CA 94110

Quiero extraer la ciudad del uso de expresiones regulares.

Plano, Dallas, Parker, San Francisco

Estoy usando la siguiente expresión regular que funciona para el primer ejemplo

 (?<=[,.|•]).*\s+(?=[\s,.]?CA?[\s,.-]?[\d]{4,})

me puedes ayudar por lo mismo que?

about 4 years ago · Santiago Gelvez
3 Respuestas
Responde la pregunta

0

Puedes usar

 ,(?:\s*#\d+)?\s*([^\s,][^,]*)(?=\W+[AZ]{2}\W*\d{4,}\s*$)

Vea la demostración de expresiones regulares . El valor necesario está en el Grupo 1.

Detalles :

  • , - una coma
  • (?:\s*#\d+)? - una secuencia opcional de cero o más espacios en blanco, # y luego uno o más dígitos
  • \s* - cero o más espacios en blanco
  • ([^\s,][^,]*) - Grupo 1: un carácter que no sea espacio en blanco y coma y luego cero o más caracteres sin coma
  • (?=\W+[AZ]{2}\W*\d{4,}\s*$) - una anticipación positiva que requiere (inmediatamente a la derecha)
    • \W+ - uno o más caracteres que no son palabras
    • [AZ]{2} - dos letras ASCII mayúsculas
    • \W* - cero o más caracteres que no son palabras
    • \d{4,} - gcuatro o más dígitos
    • \s* - cero o más espacios en blanco
    • $ - final de la cadena.
about 4 years ago · Santiago Gelvez Denunciar

0

Puede hacer coincidir la coma, luego todo excepto AZ y capturar desde la primera aparición de AZ.

 ,[^AZ,]*?\b([AZ][^,]*?),?\s*[AZ]{2}[-\s]\d{4,}\s*$

Explicación

  • ,[^AZ,]*?\b Haga coincidir una coma, luego cualquier carácter excepto AZ o una coma hasta un límite de palabra
  • ([AZ][^,]*?) Capture el grupo 1 Haga coincidir AZ y luego cualquier carácter excepto una coma lo menos posible
  • ,?\s*[AZ]{2} coincide con coma opcional, caracteres de espacio en blanco opcionales y 2 caracteres en mayúscula AZ
  • [-\s]\d{4,}\s* Coincide con - o un carácter de espacio en blanco y luego 4 o más dígitos seguidos de caracteres de espacio en blanco opcionales
  • $ final de cadena

Demostración de expresiones regulares

about 4 years ago · Santiago Gelvez Denunciar

0

Lo mejor que pude adivinar fue comenzar desde el final de la cadena buscando una cadena de caracteres sin espacio (siendo la parte que está buscando) seguida de un espacio, una cadena de letras mayúsculas, luego una opción de espacio/guión y al final una cadena de números.

([^\s]+?)\,?\s[AZ]+[\s\-]?\d+$

Siendo el primer grupo, el target al que apuntas.

Este es un ejemplo en vivo con su caso de uso incrustado:

https://regexr.com/6nkq5

(como nota al margen, la demostración en regexr puede indicarle que la expresión tomó más de 250 ms y no se puede procesar... simplemente edite ligeramente el caso de prueba para que se actualice y le muestre el resultado real)

about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda