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

116
Vistas
Regex para la última letra mayúscula en la cadena

Tengo una expresión regular implementada en javascript que verifica todas las letras mayúsculas en una cadena:

.match(/[AZ]+[^AZ]*|[^AZ]+/g)

luego agrega un espacio por .join(" ")

–

¿Cómo puedo escribir una expresión regular que encuentre solo la última letra mayúscula y luego se una a un espacio antes de esa letra? Gracias por tu ayuda.

—

Ejemplo de entrada: "HelloMyNameIsNick"

Resultado ideal: "HelloMyNameIs Nick"

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Para agregar un espacio antes de la última letra mayúscula, haga coincidir con avidez todo seguido de una sola letra mayúscula:

 "ABCabcABC".replace(/(.*)([AZ])/, "$1 $2") "ABCabcAB C"

Para agregar un espacio antes de la última letra mayúscula para cada secuencia de mayúsculas, haga coincidir una letra mayúscula que no esté seguida de otra letra mayúscula:

 "ABCabcAB".replaceAll(/([AZ](?![AZ]))/g, " $1") "AB CabcA B"
about 4 years ago · Juan Pablo Isaza Denunciar

0

Actualizar

 'HelloMyNameIsNick'.replace(/([^ \n])([AZ][^AZ]*$)/gm, '$1 $2')

Casos de prueba:

 console.log(` HelloMyNameIsNick Hello Hello HELLO HellO HeLLo Hello Test HELLO TEST hello test HELLO 1$@(😎-.aa HELLO 1$@(😎-.Aa `.replace(/([^ \n])([AZ][^AZ]*$)/gm, '$1 $2'))

Echa un vistazo a los casos de prueba que se manejan correctamente:

 Hello Hello Hello Test

Respuesta anterior que solo encuentra la última mayúscula

lo que buscas es

 /[AZ](?!.*[AZ].*)/gm

Zona de juegos con pruebas

Solo encuentra la última letra mayúscula.

Si desea encontrar la última letra en el texto completo en lugar de cada línea, puede reemplazar m (línea múltiple) por s (línea única):

 /[AZ](?!.*[AZ].*)/gs

Zona de juegos con pruebas

*Nota: Es posible que el indicador / /s no sea compatible con todos los navegadores.

(?!ABC) se refiere a la anticipación negativa. Comprueba las condiciones en expresión pero no las incluye en el resultado final. Más información

about 4 years ago · Juan Pablo Isaza Denunciar

0

Utilice un cuantificador no codicioso:

 /[A-Za-z]*?([AZ])[^AZ]*/

Le sugiero que agregue anclas de inicio y final para asegurarse de que está haciendo coincidir toda la cadena; de lo contrario, el patrón segmentará las cadenas:

 /^[A-Za-z]*?([AZ])[^AZ]*$/

Pruébelo aquí: https://regex101.com/r/h9Acm6/1

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