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

165
Views
Reemplace todo excepto un patrón coincidente en expresiones regulares

Estoy intentando eliminar todo menos un patrón coincidente usando la función javascripts .replace() y expresiones regulares.

Quiero guardar los dígitos del campo "fecha", es decir, 11 10 2021 o 9 10 2021. Esta expresión regular /[\d]{1,2} [0-9]{2} [0-9]{4}/g coincide con los patrones de fecha, sin embargo, cuando se usa .replace(regex, '') reemplaza esos dígitos en lugar de guardarlos. Me pregunto cómo "invertir" el patrón para guardar los dígitos y reemplazar todo lo demás.

Cadenas de ejemplo:

 SURVEY API RESULT LANDING: [{"_id":"616392e41a03eed562de2e8a", "userId":"email@gmail.com", "date":"11 10 2021", "timeStamp":"2:26:", "formResponse":"Survey completed"}] [{"_id":"616392e41a03eed562de2e8a", "userId":"email@gmail.com", "date":"9 10 2021", "timeStamp":"2:26:", "formResponse":"Survey completed"}]
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Use regex exec o string matchAll en lugar de string replace

ejecutivo

 const regex = /[\d]{1,2} [\d]{2} [\d]{4}/g; const str = `SURVEY API RESULT LANDING: [{"_id":"616392e41a03eed562de2e8a", "userId":"email@gmail.com", "date":"11 10 2021", "timeStamp":"2:26:", "formResponse":"Survey completed"}] [{"_id":"616392e41a03eed562de2e8a", "userId":"email@gmail.com", "date":"9 10 2021", "timeStamp":"2:26:", "formResponse":"Survey completed"}]`; let match; while(match = regex.exec(str)) { console.log(match[0]); }

coincidir con todo

 const iterator = `SURVEY API RESULT LANDING: [{"_id":"616392e41a03eed562de2e8a", "userId":"email@gmail.com", "date":"12 10 2021", "timeStamp":"2:26:", "formResponse":"Survey completed"}] [{"_id":"616392e41a03eed562de2e8a", "userId":"email@gmail.com", "date":"9 10 2021", "timeStamp":"2:26:", "formResponse":"Survey completed"}]`.matchAll(/[\d]{1,2} [\d]{2} [\d]{4}/g); console.log(Array.from(iterator).map(m => m[0]));

about 4 years ago · Juan Pablo Isaza Report

0

Para encontrar una sola fecha, intente lo siguiente

 `[{"_id":"616392e41a03eed562de2e8a", "userId":"email@gmail.com", "date":"9 10 2021", "timeStamp":"2:26:", "formResponse":"Survey completed"}]`.replace(/.*([\d]{1,2} [0-9]{2} [0-9]{4}).*/gms, "$1");

Referencia RegExp https://javascript.info/regexp-introduction

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!