Мне дают строку, которая содержит содержимое документа 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-адреса, не изменяя те, которые уже были изменены в апстриме?
Единственный подход прохода важен.
Задача ещё не решена.
Других решений пока нет …