Python匹配中文的正則表達(dá)式
正則表達(dá)式并不是Python的一部分。正則表達(dá)式是用于處理字符串的強(qiáng)大工具,擁有自己獨(dú)特的語(yǔ)法以及一個(gè)獨(dú)立的處理引擎,效率上可能不如str自帶的方法,但功能十分強(qiáng)大。得益于這一點(diǎn),在提供了正則表達(dá)式的語(yǔ)言里,正則表達(dá)式的語(yǔ)法都是一樣的,區(qū)別只在于不同的編程語(yǔ)言實(shí)現(xiàn)支持的語(yǔ)法數(shù)量不同;但不用擔(dān)心,不被支持的語(yǔ)法通常是不常用的部分。
Python正則表達(dá)式簡(jiǎn)介
正則表達(dá)式是一個(gè)特殊的字符序列,它能幫助你方便的檢查一個(gè)字符串是否與某種模式匹配。
Python 自1.5版本起增加了re 模塊,它提供 Perl 風(fēng)格的正則表達(dá)式模式。
re 模塊使 Python 語(yǔ)言擁有全部的正則表達(dá)式功能。
compile 函數(shù)根據(jù)一個(gè)模式字符串和可選的標(biāo)志參數(shù)生成一個(gè)正則表達(dá)式對(duì)象。該對(duì)象擁有一系列方法用于正則表達(dá)式匹配和替換。
re 模塊也提供了與這些方法功能完全一致的函數(shù),這些函數(shù)使用一個(gè)模式字符串做為它們的第一個(gè)參數(shù)。
以上說的都是給正文做鋪墊的,下面看下python正則表達(dá)式如何匹配中文的。
# -*- coding: utf-8 -*-
import re
def findPart(regex, text, name):
res=re.findall(regex, text)
if res:
print "There are %d %s parts:\n"% (len(res), name)
for r in res:
print "\t",r.encode("utf8")
print
text ="#who#helloworld#a中文x#"
usample=unicode(text,'utf8')
findPart(u"#[\w\u2E80-\u9FFF]+#", usample, "unicode chinese")
注:
幾個(gè)主要非英文語(yǔ)系字符范圍
2E80~33FFh:中日韓符號(hào)區(qū)。收容康熙字典部首、中日韓輔助部首、注音符號(hào)、日本假名、韓文音符,中日韓的符號(hào)、標(biāo)點(diǎn)、帶圈或帶括符文數(shù)字、月份,以及日本的假名組合、單位、年號(hào)、月份、日期、時(shí)間等。
3400~4DFFh:中日韓認(rèn)同表意文字?jǐn)U充A區(qū),總計(jì)收容6,582個(gè)中日韓漢字。
4E00~9FFFh:中日韓認(rèn)同表意文字區(qū),總計(jì)收容20,902個(gè)中日韓漢字。
A000~A4FFh:彝族文字區(qū),收容中國(guó)南方彝族文字和字根。
AC00~D7FFh:韓文拼音組合字區(qū),收容以韓文音符拼成的文字。
F900~FAFFh:中日韓兼容表意文字區(qū),總計(jì)收容302個(gè)中日韓漢字。
FB00~FFFDh:文字表現(xiàn)形式區(qū),收容組合拉丁文字、希伯來(lái)文、阿拉伯文、中日韓直式標(biāo)點(diǎn)、小符號(hào)、半角符號(hào)、全角
(
#!/usr/bin/python3
# -*- coding: UTF-8 -*-
import re
message = u'天人合一'.encode('utf8')
print(re.search(u'人'.encode('utf8'), message).group())
交互模式下的例子
>>> import re
>>> s='Phone No. 010-87654321'
>>>
>>> r=re.compile(r'(\d+)-(\d+)')
>>> m=r.search(s)
>>> m
<_sre.SRE_Match object at 0x010EE218>
)
以上所述是小編給大家介紹的Python正則表達(dá)式匹配中文的方法,希望對(duì)大家有所幫助!
相關(guān)文章
python 利用pywifi模塊實(shí)現(xiàn)連接網(wǎng)絡(luò)破解wifi密碼實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)
這篇文章主要介紹了python 利用pywifi模塊實(shí)現(xiàn)連接網(wǎng)絡(luò)破解wifi密碼實(shí)時(shí)監(jiān)控網(wǎng)絡(luò),需要的朋友可以參考下2019-09-09
Python高級(jí)應(yīng)用實(shí)例對(duì)比:高效計(jì)算大文件中的最長(zhǎng)行的長(zhǎng)度
在操作某個(gè)很多進(jìn)程都要頻繁用到的大文件的時(shí)候,應(yīng)該盡早釋放文件資源(f.close()),只有這樣才能算是一則高效率的代碼,下面我們就來(lái)分析下這3種方法的優(yōu)劣2014-06-06
Python 降級(jí)的兩種實(shí)現(xiàn)方法
本文主要介紹了Python 降級(jí)的兩種實(shí)現(xiàn)方法,幫助用戶在降級(jí)Python時(shí)不完全卸載,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
python實(shí)現(xiàn)FTP文件傳輸?shù)姆椒ǎǚ?wù)器端和客戶端)
FTP(File Transfer Protocol,文件傳輸協(xié)議) 是 TCP/IP 協(xié)議組中的協(xié)議之一。接下來(lái)通過本文給大家介紹關(guān)于python實(shí)現(xiàn)FTP文件傳輸?shù)南嚓P(guān)知識(shí)(服務(wù)器端和客戶端) ,需要的朋友可以參考下2020-03-03
python基于multiprocessing的多進(jìn)程創(chuàng)建方法
這篇文章主要介紹了python基于multiprocessing的多進(jìn)程創(chuàng)建方法,實(shí)例分析了multiprocessing模塊操作進(jìn)程的相關(guān)技巧,需要的朋友可以參考下2015-06-06
python 解決pycharm運(yùn)行py文件只有unittest選項(xiàng)的問題
這篇文章主要介紹了python 解決pycharm運(yùn)行py文件只有unittest選項(xiàng)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-09-09
CentOS系統(tǒng)上安裝Conda的詳細(xì)指南
Conda 是一個(gè)開源的包管理系統(tǒng)和環(huán)境管理系統(tǒng),廣泛應(yīng)用于數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)領(lǐng)域,本文將詳細(xì)介紹如何在 CentOS 系統(tǒng)上安裝 Conda吧2025-03-03

