const regex = /\$[^\$]*\$/g;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('\\$[^\\$]*\\$', 'g')
const str = `\$hello\$
\$
hello
\$
.projection \$I_{d,i} \\rightarrow M_{d,i} M_{d,0}\$, where all the
\\begin{itemize}
\\item \$M\$ is atomic and finitely generated;
\\item \$M\$ is cancellative;
\\item \$(M, \\le_L)\$ and \$(M, \\le_R)\$ are lattices;
\\item there exists an element \$\\Delta \\in M\$, called {\\it Garside element}, such that the set
\$L(\\Delta)= \\{ x \\in M; x\\le_L \\Delta\\}\$ generates \$M\$ and is equal to \$R(\\Delta)= \\{ x\\in M;
x\\le_R \\Delta\\}\$.
\\end{itemize}
Using the fact that is atomic and that \$L(\\Delta)=
\\{x \\in M; x \\le_L \\Delta\\} M \\pi_L(a) \\neq 1 a \\neq
1 k \\partial_L^k(a)=1 k\$ be the
`;
const subst = ` `;
// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);
console.log('Substitution result: ', result);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions