正規表現を使用して、Webページから取得した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>
誰かが私を助けて、私が間違っていることを説明できますか?私は昨日正規表現を学び始めたばかりですが、これがうまくいかない理由を一生理解することはできません。