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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/277970.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277970.shtml
英文地址,請注明出處:http://en.pswp.cn/news/277970.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【區塊鏈】認識區塊鏈的基本概念

2018年區塊鏈技術風卷全球&#xff0c;似乎大家都在談論區塊鏈&#xff0c;那到底什么區塊鏈&#xff0c;區塊鏈到底能干什么&#xff0c;對普通人會有什么影響&#xff0c;很多人還是稀里糊涂&#xff0c;那么就談談我的一些理解吧&#xff0c;拋磚引玉歡迎探討。 我是如何接觸…

Java 分割、合并byte數組

場景&#xff1a;上傳文件較大&#xff0c;把存放文件內容byte數組拆分成小的。下載的時候按照順序合并。 起初覺得挺麻煩的&#xff0c;寫完覺得挺簡單。 切割&#xff1a; /*** 拆分byte數組* * param bytes* 要拆分的數組* param size* 要按幾個組成一…

Java版本的Bot Framework SDK

微軟為了鼓勵Java開發人員開發bot&#xff0c;在上個月推出了Java的Bot SDK v4.6版本&#xff0c;目前還在Preview版本&#xff0c;相信不用多久就可以趕上其他版本了。 我的java還停留在 n 年前的水平&#xff0c;但是處于好奇&#xff0c;決定玩一下這套sdk。 這套sdk目前建…

jquery方法.serializeArray()獲取name和value并轉為json數組

jquery的.serializeArray()方法可以獲取形如以下 [ {name: firstname, value: Hello}, {name: lastname, value: World}, ] name value組成的對象數組&#xff0c;如果我們想得到key為name,value為value的json對象&#xff0c;則如下轉換&#xff1a; var m {}; $.each($(&quo…

Teams Bot 如何使用新的 System.Text.Json 庫

我最近把 LuckyDraw的代碼升級到了 .net core 3.1&#xff0c;當然我也很想使用最新的微軟json庫&#xff0c;System.Text.Json這個庫的性能比之前Newtonsoft.Json速度更快&#xff0c;而且就我本人愛好來說&#xff0c;更加喜歡System.Text.Json的命名&#xff0c;之前一直覺得…

將Teams Template升級到dotnet core 3.1

為了方便開發者開發Teams應用&#xff0c;我在2018年做了dotnet c#的一套模板&#xff0c;這套模塊一共有三種類型&#xff0c;一個是Teams OutgoingWebhook&#xff0c;一個是MessagingExtension&#xff0c;還有一個就是Tab。 今天特地去nuget上看了一下&#xff0c;下載量還…

【動態規劃】cf1034C. Region Separation

質因數分解套路的復雜度分析的動態規劃 題目大意 有一顆$n$個節點有點權的樹&#xff0c;初始整棵樹為$1$號區域&#xff0c;要求滿足下列規則&#xff1a; 除非$i$是最后一個等級&#xff0c;否則每一個$i$級區域都要被分成至少兩個$i1$級區域對于每種等級&#xff0c;每個點必…

阿里大魚短信介入demo分享

下面是關于大魚短信平臺對接的例子&#xff0c;發短信的話&#xff0c;可以用這個&#xff0c;很好用 /*** 通過阿里短信接口發送短信驗證碼* ***/ public class SendSmsUtil {private static Logger logger Logger.getLogger(SendSmsUtil.class);/*** 生成驗證碼* return*/pu…

GraphAPI 1.0中新增加的Teams API

這篇繼續介紹BUILD大會里的內容&#xff1a;兩個新加入GraphAPI 1.0的關于Teams的API。 這兩個新增api是關于在頻道Channel里發送消息和回復消息的。實際上這兩個api在beta版本中早就已經加入&#xff0c;上個月build大會中公布的只是把這兩個api正式發布到1.0版本&#xff0c…

【數據結構】線性表(一):順序列表

線性表(linear_list)是最常用且最簡單的一種數據結構&#xff0c;簡言之&#xff0c;一個線性表是n個數據元素的有序序列。 例如&#xff1a;&#xff08;a1 , ... , ai-1 , ai , ai1 , ... , an)&#xff1a;ai-1 是 ai 的直接前驅&#xff0c;ai1 是 ai 的直接后驅。 并且&am…

Python_XlrdXlwt

1 import xlrd 2 # \U 開始的字符被編譯器認為是八進制 解決方法 r 3 objWB xlrd.open_workbook(rC:\Users\IBM\Desktop\S1\7月下旬入庫表.xlsx) 4 # 索引號 objTable objWB.sheet_by_index(0) 5 objTable objWB.sheet_by_name(7月下旬入庫表) 6 # 單元格3種讀取方式 7 print…

校招需要看的書 鞏固的知識

前言 感謝教練&#xff0c;學長們&#xff0c;隊友&#xff0c;lollipop&#xff0c;貓哥&#xff0c;李哥&#xff0c;表哥&#xff0c;雞哥&#xff0c;樣樣&#xff0c;咸糖&#xff0c;茗記&#xff0c;明沙&#xff0c;嘻&#xff0c;樹佬(排名不分先后)等等太多太多的人的…

新的Teams API權限控制

這篇繼續介紹BUILD大會里的內容&#xff1a;新的Teams API權限。這些新的權限讓開發者可以更加細粒度的設置權限。 之前有些開發人員有問過我&#xff0c;為什么Graph API的權限這么多&#xff0c;為什么不針對Teams弄一個總的權限&#xff0c;這樣不是更加簡單嗎&#xff1f;…

物料主數據(MM03)跳轉函數

CP_08_MATERIAL_SHOW 使用感覺能使自己的代碼顯得更改高端些。 其中參數MTSTA_IMP的選值參照表T132。轉載于:https://www.cnblogs.com/tangcy1110/p/9081380.html

二叉樹的蛇形遍歷 leetcode 103

給定一個二叉樹&#xff0c;返回其節點值的鋸齒形層次遍歷。&#xff08;即先從左往右&#xff0c;再從右往左進行下一層遍歷&#xff0c;以此類推&#xff0c;層與層之間交替進行&#xff09;。 例如&#xff1a;給定二叉樹 [3,9,20,null,null,15,7], 3/ \9 20/ \15 7返回…

Teams Tab的Single Sign-On

在我寫這篇文章的時候&#xff0c;這個SSO機制還是在 Developer Preview 階段&#xff0c;可能在發布前還會有一些改進。不過我覺得這個功能很好&#xff0c;所以先和大家分享一下。 如果大家之前已經開發過Teams的tab應用&#xff0c;可能會發現如果你需要一個當前用戶的toke…

vim編輯器的使用--轉自MJ學長

一、引言 1. vim是一款功能強大的文本編輯器&#xff0c;如果使用熟練&#xff0c;將會有效幫助我們提高編輯文本、程序的效率。vim編輯器的上手使用門檻比較高&#xff0c;很多人怯于要記很多命令&#xff0c;往往在學習的初期階段就望而卻步。 2. vim的學習需要不斷的練習、使…

算法引入

算法的概念&#xff1a; 解決問題的思路。 時間復雜度&#xff1a; 定義&#xff1a; 基本運算的執行數量。是算法效率的衡量的量。 計算準則&#xff1a; 基本操作&#xff1a;即只有常數項。復雜度認為1順序&#xff0c;按照加法計算循環&#xff0c;按照乘法計算條件。按照最…

如何開發Teams Bot

很多朋友問我如何開發一個成功的Teams Bot&#xff0c;他們說Bot Framework SDK看起來簡單&#xff0c;但是真要的去開發一款成熟的bot&#xff0c;很多地方還是不知道如何使用。我從最早的bot framework還在beta的時候開始用&#xff0c;后來framework經歷了多次大的改動&…

[CF903G]Yet Another Maxflow Problem

[CF903G]Yet Another Maxflow Problem 題目大意&#xff1a; 有\(A\)類點和\(B\)類點各\(n(n\le2\times10^5)\)個&#xff0c;所有\(A_i\)到\(A_{i1}\)有一條權值為\(a_i\)的有向邊&#xff0c;所有\(B_i\)到\(B_{i1}\)有一條權值為\(b_i\)的有向邊&#xff0c;另有\(m(m\le2\t…