Изменить (потенциально) много URL-адресов в документе HTML на C++
Мне дают строку, которая содержит содержимое документа HTML, и мне нужно изменить некоторые URL-адреса, содержащиеся в документе. URL, которые необходимо изменить, начинаются с формы:
<script src="https://foo.com/some/variable/path/to/file.js" ...
И должен быть изменен на:
<script src="https://foo.com/some/variable/path/to/NEW/file.js" ...
Мой текущий подход состоял в том, чтобы использовать функцию Google RE2 GlobalReplace с регулярным выражением:
"(?i)(<script\\s+(?:[^>]+\\s+)?src=[\"']https://foo\\.com/"
"(?:.*?/)*?)(.*?\\.js[\"'][^>]*>)"
Это почти работает, пока я не понял, что возможно, что в HTML, который я дал, уже могут быть изменены некоторые URL-адреса, а некоторые нет, первый из которых следует оставить в покое.
Вопрос: Какой самый простой способ изменить URL-адреса, не изменяя те, которые уже были изменены в апстриме?
Единственный подход прохода важен.