Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

336
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!