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

Рейтинг: 0Ответов: 1Опубликовано: 08.04.2023

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

Требуется вставить после тега <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");

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

Ответы

▲ 0Принят

Требуется вставить после тега <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)