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

看板Perl作者 (gg)時間18年前 (2006/06/29 01:44), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串6/6 (看更多)
※ 引述《Daira (Daira)》之銘言: : 而不要它比對到 <html> 或是 </html> 這些 tag 中的 html 試試看這個,我把說明直接寫在裡面。假設你整個 HTML 內容全讀進 $_ 裡了 s{(?<! # negative look-behind < # 找 < /? # 可能帶有一個斜線 ) html # 找 html 四個字 (?! # negative look-ahead .*? # 在 tag 中間的 attributes 等東西 > # 找到 > ) }{超文字標記語言}gsx 不加註解的可以縮短成這樣 s{(<?<!</?)html(?!.*>)}{超文字標記語言}gs 如果說你有個字典的 hash 的話,假設叫做 %dict 好了,那麼就可以改成 s{<?<!</?)(.*?)(?!.*>)}{$dict{$1}}gs 這整句話的意思是: 「把前面不帶 </? ,而後面不跟著 .*> 的 (.*?) 換成 $dict{$1}」 Cheers, Kang-min Liu -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.22.54.223

06/29 13:34, , 1F
讚!!
06/29 13:34, 1F
文章代碼(AID): #14eh_ldG (Perl)
討論串 (同標題文章)
文章代碼(AID): #14eh_ldG (Perl)