Re: [問題] 字串判斷
※ 引述《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
推
04/15 12:14, , 1F
04/15 12:14, 1F
→
04/15 12:15, , 2F
04/15 12:15, 2F
Python的regex engine預設的 . 不會match斷行符號(EOL)
這樣就不適用在你的情況(因為html很少會只有一行)
re.DOTALL是讓regex的 . 可以match斷行符號
※ 編輯: Holocaust123 來自: 140.112.30.46 (04/15 12:42)
推
04/15 15:21, , 3F
04/15 15:21, 3F
→
04/15 15:21, , 4F
04/15 15:21, 4F
討論串 (同標題文章)