作者aster30 (紫苑)
看板Python
標題[問題] 正規表達法可以用中文字嗎?
時間Mon Dec 21 10:03:04 2015
大家好
請問正規表達式中可以用中文字嗎?
例如我要判斷字串中是否有 萬,千,百,十 這四個字的其中一個
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