python中文正則表達式
1. python用正則表達式匹配含有中文的字元串,匹配不到
代碼如下:
#coding=utf-8
importre
s=u'<li><aclass="nav-first"href="/">首頁</a></li>'
r=re.compile(u'<li><asclass="[^"]*"shref="[^"]">(.*?)(?=</a></li>)')
ss=r.findall(s)
forstrinss:
printstr
運行結果:
2. python怎麼用正則表達式提取中文
Python re正則匹配中文,其實非常簡單,把中文的unicode字元串轉換成utf-8格式就可以了,然後可以在re中隨意調用
unicode中中文的編碼為/u4e00-/u9fa5,因此正則表達式u」[\u4e00-\u9fa5]+」可以表示一個或者多個中文字元
>>> import re
>>> s='中文:123456aa哈哈哈bbcc'.decode('utf8')
>>> s
u'\u4e2d\u6587\uff1a123456aa\u54c8\u54c8\u54c8bbcc'
>>> print s
中文:123456aa哈哈哈bbcc
>>> re.match(u"[\u4e00-\u9fa5]+",s)
<_sre.SRE_Match object at 0xb77742c0>
>>> pat='中文'.decode("utf8")
>>> re.search(pat,s)
<_sre.SRE_Match object at 0x16a16df0>
>>> newpat='這里是中文內容'.decode("utf8")
>>> news=re.sub(pat,newpat,s)
>>> print news
這里是中文內容:123456aa哈哈哈bbcc
from:http://blog.aizhet.com/web/12078.html
3. python怎麼用正則表達式提取中文
1、字元串line='ufeffD0002044x01大數據x01數據分析x01技術x01工具x01應用
'
想提取出其中的「大數據」,「數據分析」,「技術」,「工具」,「應用」這些中文,用了正則表達式:
>>>pat2='x01(.*?)'
>>>rs=re.compile(pat2).findall(line)
>>>print(rs)
['','','','','']
顯示的結果是空,請問如何才能正確的提出中文部分。
2、原文: 法規名稱:'《中華人民共和國合同法》',Items:[{法條名稱:'第五十二條'
匹配成: 《中華人民共和國合同法》第五十二條
(?<=法規名稱:').*?(',Items:[{法條名稱:').*?(?=') 請問這樣匹配哪裡錯了?Python報sre_constants.error: unterminated character set at position 22
3、Python re正則匹配中文,其實非常簡單,把中文的unicode字元串轉換成utf-8格式就可以了,然後可以在re中隨意調用
unicode中中文的編碼為/u4e00-/u9fa5,因此正則表達式u」[u4e00-u9fa5]+」可以表示一個或者多個中文字元
>>> import re
>>> s='中文:123456aa哈哈哈bbcc'.decode('utf8')
>>> s
u''
>>> print s
中文:123456aa哈哈哈bbcc 。
4. python 正則表達式
[A-Za-z]\w+ :由開頭的1個大寫或者小寫的字母加上至少1個 字元來匹配
比如 Aaa,Aa
4xZ匹配不到,xZ4可以匹配。
5. python 正則是什麼意思
Python正則就是 Python正則表達式
可以這樣理解:
正則表達式是一個特殊的字元序列,它能幫助你方便的檢查一個字元串是否與某種模式匹配。
就是你想在字元串中尋找你想要的子字元串.例如
你想匹配 "鋤禾日當午,汗滴禾下土" 里的 "日當午" 日當午就是你的正則表達式形式.
python的re 模塊使 Python 語言擁有全部的正則表達式功能。
簡單的代碼:
importre
print(re.match('www','www.runoob.com').span())
這個代碼就是你匹配網址中有沒有正則表達式"www"!
6. python,用正則表達式匹配特定漢字
在Python的string前面加上『r』, 是為了告訴編譯器這個string是個raw string,不要轉意backslash '\' 。 例如,\n 在raw string中,是兩個字元,\和n, 而不會轉意為換行符。由於正則表達式和 \ 會有沖突,因此,當一個字元串使用了正則表達式後,最好在前面加上'r'。
在[]中
-長用來指定一個字元集,在這個字元集中的一個可以拿來匹配:[abc] [a-z]
-元字元在在字元集中不起作用
-在[]內用^表示補集,用來匹配不在區間范圍內的字元
s=r'aba' 匹配abc
s=r't[io]p' 匹配tip或者top
s=r't[a-z0-9A-Z]'匹配t+0-9或者a-z或者A-Z
[abc]表示「a」或「b」或「c」
[0-9]表示0~9中任意一個數字,等價於[0123456789]
[\u4e00-\u9fa5]表示任意一個漢字
[^a1<]表示除「a」、「1」、「<」外的其它任意一個字元
[^a-z]表示除小寫字母外的任意一個字元
7. python的re,正則表達式,可以用中文么
解決了>>>
a='中文'>>>
a'\xd6\xd0\xce\xc4'>>>
import
re>>>
mytestre=re.compile('\xd6\xd0\xce\xc4')>>>
b='中文asdf223中文ss'>>>
mytestre.sub('zw',b)'zwasdf223zwss'>>>復制代碼關鍵是要找到中文相應coding對應的編碼,這里中文='\xd6\xd0\xce\xc4'所以,就用\xd6\xd0\xce\xc4代替中文就可以了,如果是其他編碼,也用類似的方法找到編碼的字元串就可以了,沒測試過,應該是這樣的。哈哈。:mrgreen:
8. Python正則表達式
>>>importre
>>>s="你好啊hellohi
>>>s1=re.findall(r'[u4e00-u9fa5]s[u4e00-u9fa5]',s)
>>>s2=re.sub(r's','',s1[0])
>>>s11=re.split(s1[0],s)
>>>s11.insert(1,s2)
>>>s3=''.join(s11)
>>>s3
'你好啊hellohi'
兩端的空格還沒有刪除,你可以在s11這個階段刪除空格
9. python正則表達式是什麼
正則表達式(regex)用於探索給定字元串中的固定模式。我們想找到的模式可以是任何東西。可以創建類似於查找電子郵件或手機號碼的模式。還可以創建查找以a開頭、以z結尾的字元串的模式。
創建模式:
使用正則表達式時,首先需要學習的是如何創建模式。接下來將對一些最常用的模式進行逐一介紹。可以想到最簡單的模式是一個簡單的字元串。
pattern = r'times'
string = "It was the best of times, it was the worst of times."
print(len(re.findall(pattern,string)))
注意:
「正則表達式,又稱規則表達式(英語:Regular Expression,在代碼中常簡寫為regex、regexp或re),是計算機科學的一個概念。正則表達式通常被用來檢索、替換那些符合某個模式(規則)的文本」,那使用正則表達式的目的是什麼呢?網路中只寫了兩句話:
1. 給定的字元串是否符合正則表達式的過濾邏輯(稱作「匹配」)。
2. 可以通過正則表達式,從字元串中獲取我們想要的特定部分。
大家可以簡單的理解為兩點:search和match。OK,了解了正則表達式的概念和作用,我們趕緊進入Python的學習吧!正則表達式不是Python獨有的武器,但Python中的正則表達式無疑是最簡單卻又最強大的。
10. python 正則表達式是什麼
正則表達式是對字元串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成一個「規則字元串」,這個「規則字元串」用來表達對字元串的一種過濾邏輯。
正則表達式是用來匹配字元串非常強大的工具,在其他編程語言中同樣有正則表達式的概念,Python同樣不例外,利用了正則表達式,我們想要從返回的頁面內容提取出我們想要的內容就易如反掌了。
正則表達式的大致匹配過程是:
1、依次拿出表達式和文本中的字元比較。
2、如果每一個字元都能匹配,則匹配成功;一旦有匹配不成功的字元則匹配失敗。
3、如果表達式中有量詞或邊界,這個過程會稍微有一些不同。