regex - вставка тега в HTML код

у меня вот такая задача:

Требуется вставить после тега <body> строку <h1>Hello</h1>

выходная строка: <html> <body style="height: 200px"> </body> </html>

пытаюсь использовать опережающие и ретроспективные проверки:

std::string input("<html> <body style=\"height: 200px\"> </body> </html>");
std::regex myreg("((?<=body>).*(?=<\/body>))");
std::cout << regex_replace(input, myreg, "<h1>Hello</h1>$0");

в чем здесь проблема?


Ответы (1 шт):

Автор решения: ksa

Требуется вставить после тега <body> строку <h1>Hello</h1>

Не c++ конечно... Но регулярки вроде схожи. Предложу такой вариант...

let str = '<html> <body style="height: 200px"> </body> </html>'
const re = /(?<=\<body.*?>)(.)/i
str = str.replace(re, '<h1>Hello</h1>$1')
console.log(str)

→ Ссылка