看板 Python 關於我們 聯絡資訊
※ 引述《elvisteal (TEAL)》之銘言: : <font color="#00FFFF">[\xe3\x83\x97\xe3\x83\xac\xe3\x82\xa4\xe3\x83\xa4\xe3\x83\xbc\xe5\x90\x8d]</font><br>\n : \t\xe7\xb6\xbe\xe9\x83\xa8<br> : 請問若有一串字串是這樣子 : 而\xe7\xb6\xbe\xe9\x83\xa8 是不定變數,長度也不一樣不過最後一定會有<br> (其它都是固定的) : 請問我要如何抓取這不定變數? 使用 regular expression 的 grouping 即可... #coding=utf8 import re html = ur"""<font color="#00FFFF">[\xe3\x83\x97\xe3\x83\xac\xe3\x82\xa4\xe3\x83\xa4\xe3\x83\xbc\xe 5\x90\x8d]<\font><br>\n \t\xe7\xb6\xbe\xe9\x83\xa8<br>""" pattern = ur'<font color=.*?>.*?<\\font><br>\\n.*?\\t(.*?)<br>' pattern = re.compile(pattern, re.DOTALL) iterator = re.finditer(pattern, html) for matcher in iterator: print matcher.group(1) 執行結果: \xe7\xb6\xbe\xe9\x83\xa8 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.46
elvisteal:感謝~我大概參照了一下您的搜索方法,再全印出去切割 04/15 12:14
elvisteal:不過re.DOTALL 我再去找書看看好了><"有點看不懂為什麼 04/15 12:15
Python的regex engine預設的 . 不會match斷行符號(EOL) 這樣就不適用在你的情況(因為html很少會只有一行) re.DOTALL是讓regex的 . 可以match斷行符號 ※ 編輯: Holocaust123 來自: 140.112.30.46 (04/15 12:42)
elvisteal:原來如此!這判斷真不錯,可以用很多模擬get了! 04/15 15:21
elvisteal:差不多弄懂要怎麼去抓判斷了 04/15 15:21