日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python正则中如何匹配汉字以及encode(‘utf-8’)和decode(‘utf-8’)的互转

發布時間:2023/12/9 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python正则中如何匹配汉字以及encode(‘utf-8’)和decode(‘utf-8’)的互转 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正則表達式:
  [\u2E80-\u9FFF]+$ 匹配所有東亞區的語言?
  [\u4E00-\u9FFF]+$ 匹配簡體和繁體?
  [\u4E00-\u9FA5]+$ 匹配簡體?
  <input type="text" name="username" οnkeyup="value=value.replace([\u4E00-\u9FA5]+$)">

正則表達式速查表:https://www.jb51.net/shouce/jquery1.82/regexp.html

1 1 # -*- coding:utf-8 -*- 2 2 3 3 import re 4 4 5 5 ''' 6 6 python 3.5版本 7 7 正則匹配中文,固定形式:\u4E00-\u9FA5 8 8 ''' 9 9 10 10 words = 'study in 山海大學' 11 11 regex_str = ".*?([\u4E00-\u9FA5]+大學)" 12 12 match_obj = re.match(regex_str, words) 13 13 if match_obj: 14 14 print(match_obj.group(1)) 15 15 16 16 17 17 結果:山海大學

?

這里面表示的是一個正則表達式語句的啦,http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html

Python添加對Unicode的支持,以Unicode表示的字符串用u’ABC’來表示。
字符串’xxx’雖然是ASCII編碼,但也可以看成是UTF-8編碼,而u’xxx’則只能是Unicode編碼。


把u’xxx’轉換為UTF-8編碼的’xxx’用encode(‘utf-8’)方法。

1 >>> u'ABC'.encode('utf-8') 2 'ABC' 3 >>> u'中文'.encode('utf-8') 4 '\xe4\xb8\xad\xe6\x96\x87

反過來,把UTF-8編碼表示的字符串’xxx’轉換為Unicode字符串u’xxx’用decode(‘utf-8’)方法。

1 >>> 'abc'.decode('utf-8') 2 u'abc' 3 >>> '\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8') 4 u'\u4e2d\u6587' 5 >>> print '\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8') 6 中文

由于Python源代碼也是一個文本文件,所以,當你的源代碼中包含中文的時候,在保存源代碼時,就需要務必指定保存為UTF-8編碼。當Python解釋器讀取源代碼時,為了讓它按UTF-8編碼讀取,我們通常在文件開頭寫上這兩行:

1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*-

第一行注釋是為了告訴Linux/OS X系統,這是一個Python可執行程序,Windows系統會忽略這個注釋;

第二行注釋是為了告訴Python解釋器,按照UTF-8編碼讀取源代碼,否則,你在源代碼中寫的中文輸出可能會有亂碼。

關于Python正則表達式匹配中文:

這里邊重點用到了? r'[\u4e00-\u9fa5]+'? 的正則規則,表示1到多個任意漢字。

1 import re 2 str=u"【心理箴言】現實是污濁的河流,要想接受污濁的河流而自身不被污染,我們必須成為大海。 ??=-=4845/.?'?" 3 # py2.7,所以字符串前加u,在正則表達式前也加u即可。 4 # pattern =re.compile(u'[\u4e00-\u9fa5]') 5 pattern =re.compile(r"[\u4e00-\u9fa5]+") 6 result=pattern.findall(str) 7 result1=re.findall(pattern,str) 8 for w in result: 9 print(w) 10 11 str1='hjggj小vjjk明' 12 pat=re.compile(r'[\u4e00-\u9fa5]+') 13 result=pat.findall(str1) 14 print(result)

運行結果:

如果全是漢字 指定輸出某些漢字呢:

見 Unicode 中文編碼表:?https://www.bejson.com/convert/unicode_chinese/

?

轉載于:https://www.cnblogs.com/Army-Knife/p/10691407.html

總結

以上是生活随笔為你收集整理的python正则中如何匹配汉字以及encode(‘utf-8’)和decode(‘utf-8’)的互转的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。