1 つ以上のイメージ タグを含む文字列があります。ここで、alt=
タグを正規表現する必要があります。私はこのように試しました:
while (m3.find()) {
Pattern p4 = Pattern.compile("<!\\[CDATA\\[(.*?)\\]\\]>");
Matcher m4 = p4.matcher(m3.group());
while (m4.find()) {
if(m4.group().contains("<img src")) {
Pattern p6 = Pattern.compile("<img src(.*?)/>");
Matcher m6 = p6.matcher(m4.group());
while (m6.find()) {
Pattern p7 = Pattern.compile("alt=\"(.*?)\"");
Matcher m7 = p7.matcher(m6.group());
while (m7.find()) {
messages.add(m4.group().replace(m6.group(), m7.group().replace("alt=", "").replace("\"", "")).replace("<![CDATA[", "").replace("]]>", ""));
}
}
} else {
messages.add(m4.group().replace("<![CDATA[", "").replace("]]>", ""));
}
}
}
問題は、画像タグが複数あることです。messages
ArrayList です。messages.add
実際のメッセージのすべての画像に対して1 つだけ必要です。そのままのコードは非常に異なることを行い、それを修正する方法や間違いがどこにあるのかわかりません:/ 全体を の内容に置き換えたいだけですalt="..."
が、実際のメッセージにはすべてが含まれています。誰でも私を助けることができますか?