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

189
Vistas
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 Respuestas
Responde la pregunta

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 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