[問題] regular expression with utf-8
最近在學習python regular expression的部份
希望可以parse出類似'7~8級', '7-8級', '7~8級', '7到8級', 這類的pattern
但是發現在使用utf-8 encode的情況下
re.findall('\d+[-~~]\d+', '7~8級') 是沒辦法找到的
因為'~' = '\xe2\x88\xbc'
在[]內被視為三個不同的character
如果是Unicode re.findall(u'\d+[-~~]\d+', u'7~8級') 就可以
雖然有google到一個回應
建議不要用utf-8的byte stream做regular expression的search或match
不過因為要parse的XML檔, 讀入時的encoding方法是utf-8
想問說有沒有辦法省掉將utf-8轉成unicode的步驟
就直接使用re做parsing
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.225.18
推
06/03 15:15, , 1F
06/03 15:15, 1F
推
09/05 11:09, , 2F
09/05 11:09, 2F
→
09/05 11:11, , 3F
09/05 11:11, 3F
Python 近期熱門文章
PTT數位生活區 即時熱門文章