wrap urls
第一次看到這么復(fù)雜的正則匹配和替換之類的問題定欧,一開始著實(shí)不知道怎么搞
那就一次一次試唄
先嘗試匹配所有的URL,發(fā)現(xiàn)圖片的URL和wrap過的URL在最后會(huì)有(")或者())的符號(hào)怒竿,于是就在正則表達(dá)式的最后加上了(\w)來提取需要wrap的URL
得到URL之后就對(duì)URL 進(jìn)行替換砍鸠,發(fā)現(xiàn)如果直接使用str.replace()方法的話,會(huì)替換所有匹配到的字符串耕驰,在測(cè)試樣例中有wrap過的沒有wrap的URL全部被替換了爷辱,然后我就投了個(gè)懶,只替換了一次朦肘,可能還會(huì)有問題出現(xiàn)饭弓,比如替換過的URL出現(xiàn)的位置比沒替換過的URL靠前,這樣就會(huì)發(fā)生該替換的沒替換的錯(cuò)誤媒抠。
extract_images
這個(gè)比上面的簡(jiǎn)單一些弟断,但是在多個(gè)正則表達(dá)式同時(shí)匹配的時(shí)候出了點(diǎn)問題,后來改成了使用兩個(gè)pattern分別匹配然后再進(jìn)行判斷哪個(gè)匹配成功领舰,在進(jìn)行下一步夫嗓。
在測(cè)試樣例中發(fā)現(xiàn)有兩個(gè)一樣的images,所以剛開始的計(jì)劃是把文件名的字符串存進(jìn)“set”中冲秽,后來發(fā)現(xiàn),集合在輸出時(shí)會(huì)自動(dòng)排序矩父,就是打亂了本來的順序锉桑,我覺得可能會(huì)有問題,于是改成將字符串存在“l(fā)ist”中窍株,存入之前判斷一下list中是否已經(jīng)包含這個(gè)元素民轴,這樣就解決了重復(fù)的問題和排序的問題。