python中文编码正则_python的unicode编码问题(以正则表达式为例)
unicode是python的內部編碼。
字符串在Python內部的表示是unicode編碼,因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字符串解碼(decode)成unicode,再從unicode編碼(encode)成另一種編碼。
在編程中如果沒有意識就可能會出bug。
像這樣的unicode編碼直接用中文進行正則表達式的匹配是沒有結果的。因為使用的是utf8編碼。
#!/usr/bin/env python
#coding=utf-8
import re
content = u'中文內容'
formula = '中(.*?)容'
pattern = re.compile(formula)
print(re.findall(pattern, content))
decode方法可以將某種編碼轉成unicode編碼
encode方法可以將unicode編碼轉成另外的編碼
加上一行content = content.encode('utf8')就可以了
#!/usr/bin/env python
#coding=utf-8
import re
content = u'中文內容'
content = content.encode('utf8')
formula = '中(.*?)容'
pattern = re.compile(formula)
print(re.findall(pattern, content))
另外編碼入門可以看看這個
總結
以上是生活随笔為你收集整理的python中文编码正则_python的unicode编码问题(以正则表达式为例)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是宇宙安全声明_《三体》三体人是否知
- 下一篇: 玩不起?玩家抱怨暴雪游戏退款慢又难 等待