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

321
Vistas
la expresión regular no funcionará: el patrón de murciélago sigue siendo correcto

mi expresión regular no está funcionando. No puedo entender por qué.

 let text = '0x00d38f0ff55cf1b18841a7e7993eb5b1df791f7be40a828b94e6df90dafd9d722021-11-28 23:08:3918 hrs 5 mins ago0xba4090fb813a5da6c24d53149d98d8539e2469caOUT PancakeSwap V2: HTD-BUSD 1445.871849548172161305 HeroesTD (HTD)'; let regex = new RegExp("(.*?)2021(.*?)ago(.*?)(IN|OUT)(.*?)\\s(.*?)\\s\^", "gm"); let result; result = regex.exec(text); console.log(result);
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El \^ termina coincidiendo con el comienzo de una línea (ya que está usando el modificador m). Su cadena no tiene caracteres de nueva línea, por lo que no es posible hacer coincidir esa cadena con lo que tiene ahora.

Las posibles soluciones que se me ocurren son:

  • Agregue una nueva línea al final de su cadena; no es la mejor opción, a menos que sepa que sus datos terminarán formateados de esa manera, lo que podría ocurrir dado que está usando los modificadores g y m.
  • Reemplace el \\s\^ con un $ , ya que coincide con el final de una línea, independientemente de si viene o no otra línea después, probablemente la mejor opción y más limpia.

Editar:

Para aclarar, ya que preguntó explícitamente por qué no parece coincidir como desea. Su expresión regular coincide hasta el último \s que tiene, pero falla en el ^ . Parece que hay muchas suposiciones sobre lo que desea hacer coincidir, por lo que la solución variará en consecuencia. Sí, podría simplemente eliminar el \^ como han sugerido otros, pero eso ya no coincidiría con toda la línea, deteniéndose solo en "PancakeSwap", que solo puedo suponer que no es lo que desea. Otra forma de "arreglar" esto sería eliminar \s\^ del final de esa cadena, y tomar ese final (.*?) y hacerlo codicioso: (.*) . Esta "codicia" solo significa que intentará hacer coincidir todo lo que pueda (en su mayor parte), por lo que eliminar \s^ permitirá que coincida hasta el final de la línea, aunque esto podría ser contraproducente si termina habiendo más líneas después de esto. Nuevamente, solo puedo suponer que tiene la intención de hacer coincidir todo el camino hasta el final de la línea, ya que eso es lo que está haciendo \s^ , aunque solo lo está haciendo en presencia de otra línea que lo precede.

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