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

192
Views
La expresión regular (Regex) no funciona para todas las muestras de coordenadas geográficas (formato decimal)

Creé una expresión regular para extraer datos de coordenadas geográficas (formato decimal) de un patrón específico de cadenas.
Regex: /(?<lat>\-?\d+\.\d+)(?<comma>\,)(?<long>\-?\d+\.\d+)/gm

Muestra de cuerdas que funcionan: 11.18531,88.78292 , 8.34329,123.48655 , 21.11912,145.85430 , 36.29781,-13.06121 -16.35564,-36.07065 31.86691,122.28366 18.58158,59.20813 38.84814,-140.10204 ,

Aquí quiero extraer los valores de latitud y longitud con sus signos - .

Pero hay algunos patrones de cadenas que quiero rechazar por completo: -76.84933,-141.64907hel , no-16.3993,-11.2359 , -77.7678er,161.9786 , 69.8149,-l61.9041 5.9333,10.1rr667 , jkl11.18531,88.78292hh

Pero algunas de las cadenas anteriores pasan regex.test() como true : -76.84933,-141.64907hel , no-16.3993,-11.2359 , 5.9333,10.1rr667 , jkl11.18531,88.78292hh . Para este tipo de cadenas, quiero devolver false . No se debe encontrar ninguna coincidencia para estas cadenas como estas. Estos están muy contaminados y no quieren trabajar más en ellos.

Visite https://regex101.com/r/rT6YvD/1 para ver el área de juegos de expresiones regulares que estoy usando.

Esto es lo que no soy capaz de lograr. ¡¡¡Por favor ayuda!!!

Cualquier sugerencia aceptada con agradecimiento. Gracias por adelantado.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Puedes usar

 (?<lat>-?\b(?<!\b-)\d+\.\d+)(?<comma>,)(?<long>-?\d+\.\d+)\b

Vea la demostración de expresiones regulares . Detalles :

  • (?<lat>-?\b(?<!\b-)\d+\.\d+) - Grupo "lat": un - opcional, un límite de palabra que no está inmediatamente precedido por un - que tiene una palabra char delante de él, y luego uno o más dígitos, . y uno o más dígitos
  • (?<comma>,) - Grupo "coma": una coma
  • (?<long>-?\d+\.\d+) - Grupo "largo": un - opcional, uno o más dígitos, . y uno o más dígitos
  • \b - un límite de palabra

Si necesita asegurarse de que la cadena solo contenga las coordenadas, puede eliminar todos los espacios en blanco y luego verificar si toda la cadena coincide con su patrón de coordenadas:

 const match = text .replace(/\s+/g, '') .match(/^(?<lat>-?\d+\.\d+)(?<comma>,)(?<long>-?\d+\.\d+)$/);

Aquí, ^ coincide con el comienzo de la cadena y $ coincide con el final de la cadena.

about 4 years ago · Juan Pablo Isaza 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!