我正在尝试使用正则表达式来解码我从网页中检索到的一些 HTML。我想将一些<iframe>
标签转换为链接。
根据我和一些测试程序,我正在使用的代码应该可以正常工作,但是当我在我的 android 设备上运行它时,它没有找到任何匹配项(就像在测试程序中一样)。
我正在使用的正则表达式如下(请记住,我正在用 Java 编码,所以我也需要转义转义字符):
String regularExpression = "<iframe.+?src=\\\\?(\\S+).+?(><\\\\?/iframe>|\\\\?/>)";
String replacement = "<a href=$1>Youtube</a>";
input.replaceAll(regularExpression, replacement);
从我可以从中收集到的信息,它应该用该来源替换所有<iframe>
具有src
超链接属性的标签。但是,当我向它提供以下输入时,它什么也不做:
<iframe src=\"http:\/\/www.youtube.com\/embed\/s6b33PTbGxk\" frameborder=\"0\" width=\"500\" height=\"284\"><\/iframe>
响应只是完全相同的文本,只是删除了转义字符:
<iframe src="http://www.youtube.com/embed/s6b33PTbGxk" frameborder="0" width="500" height="284"></iframe>
有人可以帮助我并解释我做错了什么吗?我昨天才开始学习正则表达式,但我一生都无法弄清楚为什么这不起作用。