Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

307
Visualizações
Regex para filtrar dos condiciones: una tras otra

Digamos que tengo la cadena example_photo_name1.png y example_photo_name2.png . Quiero eliminar todo después de primero . y todo antes del ultimo _ . El resultado esperado es name1 y name2 .

Podría eliminar todo después de la primera . usando el patrón (.*)\.[^\.]*$ . Sin embargo, no sé cómo eliminar todo antes del último _ . ¿Cómo puedo hacer esto?

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Podrías usar el patrón (?<=_)(?!.+_).+(?=\.)

Explicación del patrón:

(?<=_) - mirar atrás positivo - afirmar que lo que precede es un guión bajo

(?!.+_) - anticipación negativa - afirmar que lo que sigue no contiene ningún guión bajo (por lo que estamos seguros de que estamos justo detrás del último guión bajo)

.+ - coincide con uno o más de cualquier carácter

(?=\.) - afirma lo que sigue es un punto .

Demostración de expresiones regulares

El texto combinado será exactamente lo que desea.

about 4 years ago · Juan Pablo Isaza Relatório

0

Algo como esto podría funcionar:

 const string = 'example_photo_name1.png'; string.replace(/^.*_(.*?)\.[^.]*$/, '$1');

Si desea que el prefijo xxx_ y el sufijo .xxx sean opcionales, puede envolverlos en grupos que no capturan y agregar el cuantificador adecuado:

 /^(?:.*_)?(.*?)(?:\.[^.]*)?$/

De esta manera cadena como:

 hello_world => world world.jpg => world
about 4 years ago · Juan Pablo Isaza Relatório

0

El (.*)\.[^\.]*$ patrón tuyo (usado con .replace y $1 ) elimina el último . y el resto de la cadena.

Puedes usar

 text = text.replace(/^.*_|\..*/g, '')

Vea la demostración de expresiones regulares . Detalles :

  • ^.*_ - comienzo de una cadena, cualquier cero o más caracteres que no sean caracteres de salto de línea tantos como sea posible, y luego un carácter _
  • | - o
  • \..* - un punto y luego cero o más caracteres que no sean caracteres de salto de línea tantos como sea posible

Vea una demostración de JavaScript:

 const texts = ['example_photo_name1.png', 'example_photo_name2.png']; const re = /^.*_|\..*/g; for (const text of texts) { console.log(text, '=>', text.replace(re, '')) }

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda