test solo regulares regular regexp probar numeros expresiones expresion example espacio blanco alfanumerico javascript regex

javascript - solo - JS Regex, ¿cómo reemplazar los grupos capturados solamente?



probar expresiones regulares (2)

Una pequeña mejora en la respuesta de Matthew podría ser una anticipación en lugar del último grupo de captura:

.replace(/(/w+)(/d+)(?=/w+)/, "$1!NEW_ID!");

O podrías dividir el decimal y unirte a tu nueva identificación así:

.split(//d+/).join("!NEW_ID!");

Ejemplo / Benchmark aquí: https://codepen.io/jogai/full/oyNXBX

Ok, la pregunta es bastante simple. Estoy buscando una cadena como esta:

name="some_text_0_some_text"

Tengo un código HTML antes y después de la cadena de arriba.

Ahora me gustaría reemplazar el 0 por algo así como:! NEW_ID!

Así que hice una expresión regular simple:

.*name="/w+(/d+)/w+".*

Pero no veo cómo reemplazar exclusivamente el bloque capturado.

¿Hay alguna manera de reemplazar un resultado capturado como ($ 1) por otra cadena?

El resultado sería:

name="some_text_!NEW_ID!_some_text"

Gracias por tu ayuda :)


Una solución es agregar capturas para el texto anterior y siguiente:

str.replace(/(.*value="/w+)(/d+)(/w+".*)/, "$1!NEW_ID!$3")