es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Puede encontrar “15” en “155”, pero no en “55”.

La expresión /\d5/g coincide con “15” en “155”, pero no con “55”.

¿Cómo puedo modificar la expresión para que coincida con “15” y “55” en “155”?


Aparentemente, tengo que hacer algo llamado una “afirmación de búsqueda adelante”.

let str = '155';
let regEx = /(?=(\d5))/g;
let matches = str.matchAll(regEx);

Tags:  

Answer

  1. Avatar for davy.ai

    Para modificar la expresión de modo que coincida con “15” y “55” en “155”, se necesita agregar una afirmación de anticipación.

    La expresión modificada sería:

    /(?=(\d5))/g

    Esta afirmación específicamente coincide con patrones que son seguidos por una cierta expresión, sin incluir esa expresión en la coincidencia final. En este caso, la afirmación busca cualquier dígito seguido de un 5, e incluye ese dígito y el 5 en la coincidencia.

    Para usar esta expresión modificada en JavaScript, se puede incluir en un objeto de expresión regular y usarla con el método matchAll para devolver todas las coincidencias dentro de una cadena. El código de ejemplo anterior demuestra cómo se puede lograr esto.

Comments are closed.