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

130
Views
¿Es posible usar solo lookaround para hacer coincidir caracteres que no se repiten inmediatamente antes y después?

Por ejemplo, para hacer coincidir la primera barra inclinada después del nombre de dominio en la URL.
Intención: solo coincide con '/' en '.com/...' pero no con '/' en 'https://' .

 url = 'https://example.com/...'; [ url.match( /(?<!\/)(?<slash>\/)(?!\k<slash>).../), // [A] url.match(/(?<!\k<slash>)(?<slash>\/)(?!\k<slash>).../) // [B] ]

La [A] anterior devuelve la coincidencia correcta, pero [B] es el tipo de expresión que quiero (aunque no coincide con ningún carácter), es decir, usar el carácter / solo 1 vez en el cuerpo de los literales de expresiones regulares.

¿Existe una forma generalizada de expresión similar a [B] (usando grupos de captura o similares) y usando solo expresiones regulares literales (en lugar de usar el constructor ( RegExp ))?

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

0

Puede poner una mirada positiva hacia atrás después de un carácter opcional dentro de una mirada hacia adelante negativa. El lookbehind afirma 2 barras diagonales consecutivas (usando una referencia). De esta manera, el lookbehind prueba la posición de la barra capturada y también la posición anterior. Obviamente, cuando tiene éxito, la anticipación negativa falla.

 /(\/)(?!.?(?<=\1{2}))/

(siéntase libre de usar capturas con nombre)

o sin capturas:

 /\/(?!.?(?<=\/\/))/
about 4 years ago · Juan Pablo Isaza Report

0

Si todas sus entradas son URL, esto hará lo que quiera:

 /\/\/.+?(\/)/

Y luego captura el primer grupo:

 url = 'https://example.com/...'; const matches = url.match(/\/\/.+?(\/)/); console.log(matches[1]);

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!