¿Puede / cómo se reemplaza una expresión regular de varias partes que busca contenido dentro de algunas etiquetas y luego mueve cualquier relleno de espacio fuera de las etiquetas?
ejemplo de cadena de inicio:
texto aleatorio para ignorar** algún texto **otro texto para ignorar** otro texto importante** bla, bla, bla
resultado:
texto aleatorio para ignorar **algún texto** otro texto para ignorar **otro texto importante** bla, bla, bla
básicamente tratando de ayudar a una reducción de la biblioteca html a analizar correctamente donde está teniendo problemas con los espacios justo después de la edad de MD, así que primero quiero hacer una limpieza rápida. La conversión se hará en python con markdown2 o en javascript con showdown.js.
Espero una sintaxis como s.replace(regex, '$1**$2**$3') donde 1 y 3 serían espacios dentro de las etiquetas, si existen
Puedes usar
text.replace(/\*{2}(\s*)(.*?)(\s*)\*{2}/g, '$1**$2**$3')Vea la demostración de expresiones regulares . Detalles :
\*{2} - una cadena **(\s*) - Grupo 1 ( $1 ): cero o más espacios en blanco(.*?) - Grupo 2: cualquier cero o más caracteres que no sean caracteres de salto de línea la menor cantidad posible (utilice [^]*? o [\w\W]*? para hacer coincidir los saltos de línea)(\s*) - Grupo 3 ( $3 ): cero o más espacios en blanco\*{2} - una cadena **Vea una demostración de JavaScript:
const text = "random text to ignore** some text **other text to ignore** other important text** blah blah blah"; console.log(text.replace(/\*{2}(\s*)(.*?)(\s*)\*{2}/g, '$1**$2**$3'));