1. 程式人生 > >python 3中\w+匹配漢字的問題。

python 3中\w+匹配漢字的問題。

今天記錄一下有關python 3中正則表示式的一個小問題。

我們知道正常情況下,\w+匹配字母數字及下劃線,相當於[A-Za-z0-9_]。

在python 3中我們試下\w+的匹配字串的時候,會發現匹配會匹配到中文漢字。如下圖所示:

      這是什麼原因呢?在python 3裡面,預設的是Unicode編碼。正則也是預設的編碼模式。 我們知道unicode編碼由字母和數字構成。這就造成了\w+可以匹配到中文。那麼怎麼處理呢。我們需要將正則的匹配模式修改為二進位制匹配,就會得到正確的結果。flag設定為re.A就可以了。