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")