Re: [問題] 我想要比對不在 HTML Tag 之中的文字

看板Perl作者 (Daira)時間19年前 (2006/06/10 13:26), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/6 (看更多)
補充一下我的問題 ※ 引述《Daira (Daira)》之銘言: : 我想在一篇 HTML 的原始碼中搜尋並取代資料 : 比方說我可能要找 'HTML' 這個 pattern,然後取代成 '超文字標記語言' 之類的 : 但是我希望找到的是在畫面上會顯示的 HTML 四個字元 : 而不要它比對到 <html> 或是 </html> 這些 tag 中的 html : 但是我一直想不出 Regular Expression 要怎麼寫 : 所以上來請教大家 >"< 我目前的想法是,只要 pattern 出現在 < 和 > 符號之中,就可以直接忽略掉 但是這個想法不知道要怎麼實作 : 另外,還有一個問題是,如果我想找的是 'm' 這個 pattern : 可是在 Big5 編碼下,他會比對到 '然' 這個中文字(因為下位元碼是 'M') : 我目前的想法是寫成 : /((?:[\x01-\x7F]|^)(?:[\x80-\xFF]{2})*|^)m/ : 這樣去比對 : 大致上還堪用,可是有一個問題是 : 如果出現連續的兩個 'm',第二個 'm' 會沒有辦法被比對到 : 也是想請教大家有沒有解決辦法... : 感謝大家... 我之前有找到一個解決辦法是用 use encoding 'big5'; 測試過之後還是會有一些奇怪的問題(比方說取代時還是會切到一個中文字) 而且重點是,執行效率有明顯的降低... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.67.120.114 ※ 編輯: Daira 來自: 203.67.120.114 (06/10 15:03)
文章代碼(AID): #14YbWK6N (Perl)
討論串 (同標題文章)
文章代碼(AID): #14YbWK6N (Perl)