我試圖用正則表達式來解碼一些HTML我從網頁檢索。 我想一些標籤轉化爲鏈接。Android的正則表達式沒有找到匹配
我使用應該做工精細根據我和一些testprograms的代碼,但是當我在我的Android設備上運行它沒有找到任何匹配(其中在它的測試程序)。
我使用的正則表達式如下(記住我編碼在Java中,所以我需要逃避轉義字符以及):
String regularExpression = "<iframe.+?src=\\\\?(\\S+).+?(><\\\\?/iframe>|\\\\?/>)";
String replacement = "<a href=$1>Youtube</a>";
input.replaceAll(regularExpression, replacement);
從我可以從這個聚集就應更換所有標記,有一個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>
誰能幫我並解釋我做錯了什麼?我昨天才開始學習正則表達式,但我不能爲了我的生活找出爲什麼這不起作用。
強制性鏈接到SO的最史詩答案:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – CommonsWare
我只會使用這是一個臨時解決方案,直到我們制定出適合我們的格式。 – Lars
儘管如此,'