看板 Python 關於我們 聯絡資訊
大家好 請問正規表達式中可以用中文字嗎? 例如我要判斷字串中是否有 萬,千,百,十 這四個字的其中一個 import re str = '萬' print re.search('[萬千百十]',str) 執行結果:<_sre.SRE_Match object at 0x04BF83D8> 這樣會match str = '金' print re.search('[萬千百十]',str) 執行結果:None 目前看起來很正常 但是若再換一個字 str = '台' print re.search('[萬千百十]',str) 執行結果:<_sre.SRE_Match object at 0x04BF8480> 但是'台'明明不在'萬千百十'這四個字中 如果我搜尋條件限'萬'這個字 str = '台' print re.search('[萬]',str) 執行結果:None 這樣好像就正常了? 為何會如此呢? 還是正規表達式不適用中文? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.79.199 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1450663387.A.73D.html
Neisseria: 試了一下 2.7 和 3.5 版,3.5 版的不會有這個現象 12/21 10:49
CMJ0121: 如果改成print re.search(u'[萬千百十]',str) 就正常了 12/21 12:54