正則表達(dá)式實(shí)戰(zhàn)的2

#-*- coding:utf-8 -*-
import re

1

#1------------------
line = 'booooooobaaaaooobbbbby123'
#
regex_str = '.*(b.*b).*'
match_obj = re.match(regex_str, line)
if match_obj:
    #使用group,取第一個(gè)括號(hào)
    print(match_obj.group(1))
    #結(jié)果是 bb 這里是最后的兩個(gè)b金度,是貪婪的模式

2

#2------------------
# + 表示至少一次
line = 'booooooobaaaaooobbbbbay123'
#
regex_str = '.*(b.+b).*'
match_obj = re.match(regex_str, line)
if match_obj:
    #使用group,取第一個(gè)括號(hào)
    print(match_obj.group(1))
    #匹配的結(jié)果是最后的3個(gè)b撵摆,對(duì)比一下第一個(gè)部凑,理解 + 號(hào)的意思镊折,表示至少一次
    #如果我在最后兩個(gè)b中間加一個(gè)a抵窒,他會(huì)匹配到bab

3

#3------------------
#{2}表示前面的字符出現(xiàn)了兩次, {2,}表示出現(xiàn)了兩次以上 {2,5}表示出現(xiàn)了2-5次
line = 'boooobaaaaooobaaabbbabay123'
#任意字符出現(xiàn)很多次,貪婪到最后
regex_str = '.*(b.{2,5}b).*'
match_obj = re.match(regex_str, line)
if match_obj:
    #使用group,取第一個(gè)括號(hào)
    print(match_obj.group(1))
    #結(jié)果是 bbab

4

#4------------------
# |  豎線是或的關(guān)系
line = 'bobby123'
#任意字符出現(xiàn)很多次孵坚,貪婪到最后
regex_str = '(bobby|bobby123)'
match_obj = re.match(regex_str, line)
if match_obj:
    #使用group,取第一個(gè)括號(hào)
    print(match_obj.group(1))
    #匹配的結(jié)果是bobby付枫,如果我給第一個(gè)改成了Bobby10,則會(huì)匹配到后面的一個(gè)bobby123

5

#5------------------
# 多個(gè)括號(hào)怎么使用
line = 'bobby123'
#任意字符出現(xiàn)很多次狗热,貪婪到最后
regex_str = '((bobby|bobby)123)'
match_obj = re.match(regex_str, line)
if match_obj:
    #使用group,取第一個(gè)括號(hào)
    print(match_obj.group(1)) #我們這里是第一個(gè)括號(hào)钞馁,所以只會(huì)匹配到外面的括號(hào)。括號(hào)在提取子字符串是很常用
    #加了兩層的括號(hào)匿刮,會(huì)匹配到bobby123僧凰,只加一個(gè)括號(hào),則會(huì)匹配到bobby

6

#6------------------
# [] 里面的內(nèi)容只要滿足一個(gè)都是可以的
line = 'aobby123'
#任意字符出現(xiàn)很多次熟丸,貪婪到最后
regex_str = '([abc]obby123)'
match_obj = re.match(regex_str, line)
if match_obj:
    #使用group,取第一個(gè)括號(hào)
    print(match_obj.group(1))
    #結(jié)果是aobby123

7

#7------------------
# 使用[]來匹配一次電話號(hào)碼
line = '15290875555'
#第一個(gè)數(shù)字是1训措,第二個(gè)數(shù)字是3587,接著出現(xiàn)了9個(gè)任意的數(shù)字
regex_str = '(1[3587][0-9]{9})'
match_obj = re.match(regex_str, line)
if match_obj:
    #使用group,取第一個(gè)括號(hào)
    print(match_obj.group(1))
    #結(jié)果是匹配到了電話號(hào)碼 15290875555

8

#7------------------
# 使用[^]來測(cè)試一下 []里面的點(diǎn)就是點(diǎn)光羞,*號(hào)就是*號(hào)绩鸣,不再包含特殊含義,這個(gè)要注意
line = '15290875555'
#第一個(gè)數(shù)字是1纱兑,第二個(gè)數(shù)字是3587呀闻,接著出現(xiàn)了9個(gè)不是1的字符
regex_str = '(1[3587][^1]{9})'
match_obj = re.match(regex_str, line)
if match_obj:
    #使用group,取第一個(gè)括號(hào)
    print(match_obj.group(1))
    #可以匹配到電話號(hào)碼,如果我把電話號(hào)碼改變成了15sssssssss潜慎,也是能匹配到的

9

#9------------------
# \s表示的是空格
line = '你 好'
#
regex_str = '(你\s好)'
match_obj = re.match(regex_str, line)
if match_obj:
    #使用group,取第一個(gè)括號(hào)
    print(match_obj.group(1))
    #將‘你 好’匹配到了捡多。如果是兩個(gè)空格就不行了蓖康,必須加上*號(hào)才行
    #\S 表示的是非空格,假如我寫一個(gè)‘你很好’用‘你\S好’就可以匹配了垒手,因?yàn)椤堋皇且粋€(gè)空格

10

#10------------------
# \w 表示[a-zA-Z0-9_]蒜焊,\W表示的是相反的
line = '你a好'
#
regex_str = '(你[\w]好)'
match_obj = re.match(regex_str, line)
if match_obj:
    #使用group,取第一個(gè)括號(hào)
    print(match_obj.group(1))

來自慕課,

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末科贬,一起剝皮案震驚了整個(gè)濱河市山涡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌唆迁,老刑警劉巖鸭丛,帶你破解...
    沈念sama閱讀 212,686評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異唐责,居然都是意外死亡鳞溉,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,668評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門鼠哥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來熟菲,“玉大人,你說我怎么就攤上這事朴恳〕保” “怎么了?”我有些...
    開封第一講書人閱讀 158,160評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵于颖,是天一觀的道長(zhǎng)呆贿。 經(jīng)常有香客問我,道長(zhǎng)森渐,這世上最難降的妖魔是什么做入? 我笑而不...
    開封第一講書人閱讀 56,736評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮同衣,結(jié)果婚禮上竟块,老公的妹妹穿的比我還像新娘。我一直安慰自己耐齐,他們只是感情好浪秘,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,847評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著埠况,像睡著了一般耸携。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上询枚,一...
    開封第一講書人閱讀 50,043評(píng)論 1 291
  • 那天违帆,我揣著相機(jī)與錄音浙巫,去河邊找鬼金蜀。 笑死刷后,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的渊抄。 我是一名探鬼主播尝胆,決...
    沈念sama閱讀 39,129評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼护桦!你這毒婦竟也來了含衔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,872評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤二庵,失蹤者是張志新(化名)和其女友劉穎贪染,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體催享,經(jīng)...
    沈念sama閱讀 44,318評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡杭隙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,645評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了因妙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片痰憎。...
    茶點(diǎn)故事閱讀 38,777評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖攀涵,靈堂內(nèi)的尸體忽然破棺而出铣耘,到底是詐尸還是另有隱情,我是刑警寧澤以故,帶...
    沈念sama閱讀 34,470評(píng)論 4 333
  • 正文 年R本政府宣布蜗细,位于F島的核電站,受9級(jí)特大地震影響怒详,放射性物質(zhì)發(fā)生泄漏鳄乏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,126評(píng)論 3 317
  • 文/蒙蒙 一棘利、第九天 我趴在偏房一處隱蔽的房頂上張望橱野。 院中可真熱鬧,春花似錦善玫、人聲如沸水援。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,861評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蜗元。三九已至,卻和暖如春系冗,著一層夾襖步出監(jiān)牢的瞬間奕扣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,095評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工掌敬, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留惯豆,地道東北人池磁。 一個(gè)月前我還...
    沈念sama閱讀 46,589評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像楷兽,于是被迫代替她去往敵國(guó)和親地熄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,687評(píng)論 2 351