Вы можете сделать это довольно чисто с помощью обратных ссылок и флага s
:
let str = `Edit the ==Expression=
== & T==sa==ext to see matches.`
let tags = str.replace(/==(.*?)==/gs, '<span class="highlight">$1</span>')
console.log(tags)
Если вы работаете в среде, где флаг s
еще не работает, вы также можете использовать [\s\S]
для сопоставления текста, включая разрывы строк:
let str = `Edit the ==Expression=
== & T==sa==ext to see matches.`
let tags = str.replace(/==([\s\S]*?)==/g, "<span>$1</span>")
console.log(tags)