正则表达式如何替换img标签中的src链接

Amy*_*uGo 1 java regex

我尝试了很多方法来做到这一点.我对正则表达式完全不熟悉.我想将所有img src链接替换为其他链接.

我的html文件就是这样的:

<img src="01"></img><img src="02"></img><img src="03"></img>
Run Code Online (Sandbox Code Playgroud)

或者它会是这样的:

<  img src  =  "01"></img><    img src="02"><    img src = "03"></img>
Run Code Online (Sandbox Code Playgroud)

可能有空间或没有" </img>"

我希望他们像这样:

<div><p><DIV class="a"><img src="01"></img></p></div><div><p><DIV class="a"><img src="02"></img></p></div><div><p><DIV class="a"><img src="03"></img></p></div>
Run Code Online (Sandbox Code Playgroud)

我用它来获取img src链接:

            Pattern p = null;
            Matcher m = null;
            p = Pattern.compile("<img[^>]*src\\s*=\\s*\"([^\"]*)");
            m = p.matcher(mystr);
            while (m.find()) {
                imgIDList.add(m.group(1));
            }
Run Code Online (Sandbox Code Playgroud)

我将str列表替换为:ArrayList imgList4Replace = new ArrayList();

我用这个借口替换:

                mystr.replace(("<img[^>]*src\\s*=\\s*\""+imgListReplaceOriginal.get(nIndex)+"([^\"]*)"), imgList4Replace.get(nIndex)+"$2");
Run Code Online (Sandbox Code Playgroud)

它只是不起作用.我花了很多时间来测试.

需要你的帮助.非常感谢你.

Bri*_*new 5

您无法使用HTML/XML可靠地使用regexp.你需要一个HTML解析器,比如令人困惑的命名为JTidy(尽管它声称是一个HTML漂亮的打印机,它还为你提供了一个关于你的文档的DOM视图)