Python day19_正則

 .  匹配任意1個(gè)字符(除了\n)
 [ ]    匹配[ ]中列舉的字符
 \d 匹配數(shù)字瑟幕,即0-9
 \D 匹配非數(shù)字肌蜻,即不是數(shù)字
 \s 匹配空白,即 空格,tab鍵
 \S 匹配非空白
 \w 匹配單詞字符椅邓,即a-z竖配、A-Z、0-9徒河、_
 \W 匹配非單詞字符
 *  匹配前一個(gè)字符出現(xiàn)0次或者無限次多律,即可有可無
 +  匹配前一個(gè)字符出現(xiàn)1次或者無限次痴突,即至少有1次
 ?  匹配前一個(gè)字符出現(xiàn)1次或者0次,即要么有1次狼荞,要么沒有
 {m}    匹配前一個(gè)字符出現(xiàn)m次
 {m,n}  匹配前一個(gè)字符出現(xiàn)從m到n次
 ^: 表示以什么字符串開頭
$ :表示以什么結(jié)尾
 |  匹配左右任意一個(gè)表達(dá)式
 (ab)   將括號中字符作為一個(gè)分組  
 \num   引用分組num匹配到的字符串
 (?P<name>) 分組起別名
 (?P=name)  引用別名為name分組匹配到的字符串
 re.search() 只查找一個(gè)
 re.findall() 查找所有匹配字符
 re.sub() 替換字符

注意 盡量在正則表達(dá)式的外面加上r 如:r'\d+' 避免匹配中遇到\反斜杠轉(zhuǎn)義

模塊: import re

舉例:

匹配郵箱:

# 把郵箱類型作為一個(gè)分組: (分組數(shù)據(jù))
match_obj = re.match("[a-zA-Z0-9_]{4,20}@(163|126|qq|sina)\.com$", "hello@163.com")
if match_obj:
    print(match_obj.group())
    # 表示獲取第一個(gè)分組的數(shù)據(jù)
    print(match_obj.group(1))
else:
    print("匹配失敗")

匹配網(wǎng)頁地址:

方式一:

# <html>hh</html>
match_obj = re.match("<[a-zA-z0-9]+>.*</[a-zA-z0-9]+>", "<html>hh</html>")
if match_obj:
    print(match_obj.group())
else:
    print("匹配失敗")

方式二:

# 引用分組匹配的數(shù)據(jù): \num
match_obj = re.match(r"<([a-zA-z0-9]+)>.*</\1>", "<html>hh</html>")
if match_obj:
    print(match_obj.group())
else:
    print("匹配失敗")

匹配網(wǎng)頁地址:

import re


img_url = """<img alt="16圓圓兒的直播" data-original="https://rpic.douyucdn.cn/live-cover/appCovers/2018/04/15/3986928_20180415144934_big.jpg" src="https://rpic.douyucdn.cn/live-cover/appCovers/2018/04/15/3986928_20180415144934_big.jpg" width="283" height="163" class="JS_listthumb" style="display: block;">"""
# python默認(rèn)是貪婪的根據(jù)正則表達(dá)式盡量多匹配數(shù)據(jù)
# 使用非貪婪: 盡量根據(jù)正則少匹配數(shù)據(jù)辽装, 非貪婪的模式范圍正則表達(dá)式后面加上?: 比如*?, +?, ??

# 提示: 如果匹配的數(shù)據(jù)比預(yù)想的數(shù)據(jù)要多這個(gè)時(shí)候需要想到非貪婪 比如*?, +?, ??

match_obj = re.search(r"https?://.*?.jpg", img_url)
if match_obj:
result = match_obj.group()
print(result)
else:
print("匹配失敗")

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市相味,隨后出現(xiàn)的幾起案子拾积,更是在濱河造成了極大的恐慌,老刑警劉巖攻走,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件殷勘,死亡現(xiàn)場離奇詭異,居然都是意外死亡昔搂,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進(jìn)店門输拇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來摘符,“玉大人,你說我怎么就攤上這事策吠」淇悖” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵猴抹,是天一觀的道長带族。 經(jīng)常有香客問我,道長蟀给,這世上最難降的妖魔是什么蝙砌? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮跋理,結(jié)果婚禮上择克,老公的妹妹穿的比我還像新娘。我一直安慰自己前普,他們只是感情好肚邢,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般骡湖。 火紅的嫁衣襯著肌膚如雪贱纠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天响蕴,我揣著相機(jī)與錄音并巍,去河邊找鬼。 笑死换途,一個(gè)胖子當(dāng)著我的面吹牛懊渡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播军拟,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼剃执,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了懈息?” 一聲冷哼從身側(cè)響起肾档,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎辫继,沒想到半個(gè)月后怒见,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡姑宽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年遣耍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片炮车。...
    茶點(diǎn)故事閱讀 38,809評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡舵变,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瘦穆,到底是詐尸還是另有隱情纪隙,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布扛或,位于F島的核電站绵咱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏熙兔。R本人自食惡果不足惜悲伶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望黔姜。 院中可真熱鬧拢切,春花似錦、人聲如沸秆吵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至主穗,卻和暖如春泻拦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背忽媒。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工争拐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人晦雨。 一個(gè)月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓架曹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親闹瞧。 傳聞我的和親對象是個(gè)殘疾皇子绑雄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容