let: string str = "a=<random text> a=pattern:<random text (may be fixed length)> a=<random text>"; Supongamos que, desde arriba, la cadena a= y pattern son fijos. Puede o no haber \n después de cada línea. ¿Cómo eliminar a=pattern:<random> de la cadena str ?
Podría usar grupos de captura de expresiones regulares. Capture el texto antes y después del texto que desea eliminar.
let newStr = str.replace(/(a=.+(\n)?)(a=pattern:.+)((\n)?a=.+)/, "$1$4")