寫了一個正則表達式要匹配字符串中的兩個中文,代碼如下:
# coding=utf8
import re
s = '張三一'
r = re.search('[\u4e00-\u9fa5]{2}', s)
print r
結果發現不管怎么測試,r都是None。
后來發現是編碼問題。
此處需要將字符串s和正則表達式都變成unicode編碼方式才行,如下:
# coding=utf8
import re
s = u'張三一'
r = re.search(u'[\u4e00-\u9fa5]{2}', s)
print r
此時結果正常。估計在python3里邊不用這么轉換。