/ / ¿Cómo reemplazar todos los espacios excepto los espacios dentro de “a b” en RegEx? - javascript, regex

¿Cómo reemplazar todos los espacios excepto los espacios dentro de “a b” en RegEx? - javascript, regex

¿Cómo reemplazaría todos los caracteres de espacio con la letra "_" excepto los espacios entre los caracteres "a" y "b" como este "a b".

// this is what I have so far to save someone time (that"s a joke)
var result:String = string.replace(/ /g, "_");

Oh esto está en JavaScript.

Respuestas

4 para la respuesta № 1

Utilizar esta:

var result:String = string.replace(/([^a]) | ([^b])/g, "$1_$2");

Una explicación simplificada de lo anterior es que reemplaza un espacio que:

  1. está precedido por un carácter distinto de a
  2. es seguido por un personaje que no sea b

Nota: para generalizar la expresión regular para incluir pestañas y nuevas líneas, use s, Me gusta esto:

var result:String = string.replace(/([^a])s|s([^b])/g, "$1_$2");

2 para la respuesta № 2

Prueba este regex:

/(?!a)s(?!b)/g

Editar: Esta no es la mejor solución como señaló KendallFrey.