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

56
Views
Regex para manejar también delimitadores escapados?

Digamos que tengo celdas de texto de entrada de datos delimitados por dos puntos, y quiero dividir eso en coincidencias basadas en ejecuciones de uno o más dos puntos, ignorando los dos puntos iniciales.

De este modo,

  • data_A:data_B:data_C: se divide en data_A: , data_B: , data_C:
  • :data_A:data_B:data_C: se divide en data_A: , data_B: , data_C:
  • ::data_A:data_B:::data_C: se divide en data_A: , data_B::: , data_C:

Una expresión regular de /[^:].*?(?::+|$)/g parece funcionar. https://regex101.com/r/JuMZ65/1

Sin embargo, necesito hacer que esto funcione donde el carácter de dos puntos podría estar en una celda de datos, en cuyo caso se escribiría como \: .

La expresión regular anterior falla:

  • data_A::data_\:B: se divide en data_A:: , data_\: , B:
  • pero la división deseada es data_A:: , data_\:B

Además, la barra invertida en sí podría escaparse, así

  • data_A::data_\:B:data_\\:C debería dividirse en data_A:: , data_\:B , data_\\: , C

¿Qué expresión regular funcionará, manejando \: y \\: ?


(Mi proceso de pensamiento no es mucho más sofisticado que simplemente arrojar barro a la pared, así que les ahorraré el lío de docenas de ligeras variaciones, la mitad de las cuales simplemente mueren en la mesa).

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

0

Puedes usar

 /(?:[^:\\]|\\.)+(?::+|$)/g // If the match can have no trailing colons not at the end of string: /(?:[^:\\]|\\.)+:*/g

Vea la demostración de expresiones regulares . Detalles :

  • (?:[^:\\]|\\.)+ - una o más apariciones de
    • [^:\\] - cualquier carácter que no sea : y \
    • | - o
    • \\. - un carácter escapado que no sea un carácter de salto de línea
  • (?::+|$) - ya sea uno o más dos puntos o 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!