我得到了一个包含 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 的情况下修改 URL 的最简单方法是什么?
单程方法是必不可少的。