當前位置:
首頁 > 知識 > 大話Python正則表達式

大話Python正則表達式

python的正則表達式模塊re

import re

match_object=re.compile(r"")

result=re.match(match_object,"resource string")

result=re.search(match_object,"resource string")

result=re.findall(match_object,"resource string") # 注意區別

match_object.match("resource string").group

match_object.search("resource string").group

match_object.findall("resource string") #上下兩種方式任選一種,findall是返回列表
print result.group

match與search的區別:

match是從源字元串的頭部開始,僅當從第一個字元開始匹配成功,才能從字元串中匹配到目標字元串

search是從源字元串任意位置開始匹配

match和search的共同點是一旦匹配成功就返回,因而只會從源字元串中成功匹配一個目標字元串

findall 是將源字元串中的所有匹配的目標字元串,以列表的形式返回

match_object=re.compile(r"") # r 表示原字元串,比如存在""字元時,""不再表示轉義的意思,而是 保持本身作為一個普通字元串的含義

""用在字元串中的意思是轉義,例如"\n"不再表示換行符,而是普通字元"
"

print "
" #輸出換行

print "\n"

#輸出普通字元,沒有換行意思
print r"
"

#輸出普通字元,沒有換行意思
print r"\n"
\n #輸出普通字元

match_object=re.compile(r"")

匹配目標,正則表達式定義:

"d{}" "d"匹配數字,"{}"表示匹配的個數,{5}匹配5個,{1,}至少匹配1個,{3,8}匹配3至8個;

"^" 以什麼開始

"$" 以什麼結束

"[0-9a-z]" 匹配中包含的一個字元

"[^0-9]" 表示匹配非數字的字元串,"^"用在裡面不再表示以什麼開始,而是表示非

"你|我|他" "|"表示"或"的意思

"?" 表示匹配次數要麼為0,要麼為1

"*" 表示匹配任一次數,即是0次或0次以上

"+"表示至少匹配一次

"*?" 表示非貪婪匹配 即是儘可能少的匹配

p = re.compile(r"woyouy*?")
result = re.match(p, "woyouyyyyyyy")
print result.group
woyou

"." 通配符,可以表示除換行以外的所有字元,如果加上re.DOTALL,使"."什麼都可以匹配,還有re.IGNORECASE,re.VERBOSE

re.VERBOSE 可以排除注釋和空白字元

p = re.compile(r"good.haha", re.DOTALL)
result = re.findall(p, "good
haha")
print result
["good
haha"]

p = re.compile(r"good.haha", re.IGNORECASE | re.DOTALL)
result = re.findall(p, "GOOD
HahA")
print result
["GOOD
HahA"]

p = re.compile(r"""
w+. # asdf
w+""" #12
,re.IGNORECASE | re.DOTALL | re.VERBOSE)
result = re.findall(p, "GOOD
HahA")
print result
["GOOD
HahA"]

"w" 表示匹配單詞,它是包括數字的

"s" 表示匹配空白/換行/製表符

分割字元串:

p = re.compile(r"d+")
result = re.split(p, "tom32jerry456haha")
print result
["tom", "jerry", "haha"]

替換字元串:

p = re.compile(r"d+")
result = re.sub(p, "replace", "tom32jerry456haha")
prinr result
tomreplacejerryreplacehaha

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 達人科技 的精彩文章:

Javascript 「繼承」
使用CoApp創建NuGet C++靜態庫包

TAG:達人科技 |

您可能感興趣

Python 正則表達式
Python中的正則表達式
Python爬蟲之正則表達式
Perl 正則表達式
Python 模式匹配與正則表達式
Python正則表達式語法補充
Python 正則表達式(分組)
Scala 正則表達式
Python正則表達式的7個使用典範
MongoDB 正則表達式
不要在Python中編寫 lambda 表達式了
Keep Talking丨我們如何表達愛。
正則表達式和 Cookie使用
lambda表達式foreach性能分析
無法用言語表達的愛!The Void/IF I Were a cat/The Colour Monster
Diabetes:新研究發現調節leptin表達的lncRNA
[python] 常用正則表達式爬取網頁信息及分析HTML標籤總結
XQuery FLWOR 表達式
旨在表達自我!NIKE x Patta全新膠囊系列Lookbook發布!
Being in the World——淺談Olafur Eliasson作品在建築、景觀、及城市設計視角下的表達