正則表達式

正則表達式:

正則表達式也叫匹配模式没卸,它由一組具有特定含義的字符串組成诉位,通常用于匹配和替換文本诈闺。

正則表達式陪拘,是一個的技術(shù)厂镇,很多 編程語言支持正則表達式處理

正則的使用:(大小寫意思正好相反)

re 中的常見方法:match()? ? ?findall()? ? finditer()? sub()? ?compile()? serch()

match匹配第一個字符

findall匹配所有的字符

元字符:

.? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#? 匹配非換行的任意字符

\d? ?(degist)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #匹配數(shù)字<==>[0123456789]<==>[0-9]表示匹配中括號里面出現(xiàn)的數(shù)字也就是所有數(shù)字(數(shù)字只有0-9十個數(shù)字)

\D????????????????????????????????????????????????#匹配非數(shù)字????

\w? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#匹配有效字符:大小寫字母+? 數(shù)字+ 下劃線(_)+各國語言字符(不建議使用)

\W????????????????????????????????????????????????#匹配特殊符號:-*/+=@#¥%&等符號

\s? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#匹配空格位(\t代表table鍵)

\S? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#匹配所有非空格位

^????????????????????????????????????????????????????#以? 開頭

$? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#以? 結(jié)尾

^\d.*a$????????????????????????????????????????#表示以數(shù)字開頭 以a結(jié)尾的中間字符串

\b? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #匹配單詞

[]????????????????????????????????????????????????????#表示查詢[]中的字位 若是中文字體,則需要一個一個的寫進去(不帶左刽,? 若帶則說明是要查詢捺信,)? 0-9? a-z? A-Z區(qū)間可以任意選擇比如[1-5]????????????[h-n]....若是多個區(qū)間則是直接寫中間不加任何符號????????????[0-9a-zA-Z]也可以數(shù)字--字母????????????[0-z]用的是ascii碼值排列

[^dfg]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #表示匹配除了dfg這幾個字母之外的所有字符

注意:在python中兩個"\"在輸出中表示'\',因為'\'具有轉(zhuǎn)義的作用

在正則里面‘\’也具有轉(zhuǎn)移的轉(zhuǎn)義的作用? ?在正則里面當字符里面有多個‘\’的時候要用r將‘\’的轉(zhuǎn)義的作用去除(有事沒事就+r)

位數(shù):(須是英文符號)

*? ? ? ? ? ? ? ? ? ? ? ? ? ?表示多個或者0個? ? ? ? ? ? ??

?+????????????????????????必須是1或者多個不能是0個(返回值有或者沒有? 返回沒有的時候返回空字符”'')? ???????????????????????

??欠痴?? ? ? ? ? ? ? ? ? ? ? ?表示0或者1

{m}? ? ? ? ? ? ? ? ? ? ?表示m位

{m,}? ? ? ? ? ? ? ? ? ? 表示至少有m位

{m,n}? ? ? ? ? ? ? ? ? 表示在m和n位之間(書寫時不要有空格)迄靠,閉區(qū)間

==============================================代碼如下=============================================


re模塊的高級應(yīng)用:

1、 serch:

執(zhí)行正則表達式搜索并且在搜索結(jié)束后返回所匹配到的串喇辽,只返回第一次匹配的結(jié)果 返回值是一個迭代器掌挚。而findall則是返回所有匹配到的所有串。


2菩咨、find:

匹配所有的對象吠式,返回一個列表


3、sub:

實現(xiàn)查找替換


4抽米、split:

分割字符串特占,結(jié)果返回列表


5、finditer:

返回一個迭代器iterator云茸,這個iterator返回順序是目、內(nèi)容和re.findall()相同


6、compile:

用來編譯正則表達式模式字符串标捺,并生成正則表達式對象胖笛。即改變正則表達式表達方法。

re.I(IGNORECASE)忽略大小寫宜岛,括號內(nèi)是完整的寫法

re.M(MULTILINE)多行模式长踊,改變^和$的行為

re.S(DOTALL)點可以匹配任意字符,包括換行符

re.L(LOCALE)做本地化識別的匹配萍倡,不推薦使用

re.U(UNICODE)使用\w \W \s \S \d \D使用取決于unicode定義的字符屬性身弊。在python3中默認使用該flag

re.X(VERBOSE)冗長模式,該模式下pattern字符串可以是多行的,忽略空白字符阱佛,并可以添加注釋

=========================================================================

貪婪與懶惰:

在Python中正則默認是貪婪模式(個別語言中也可能是非貪婪模式)帖汞,貪婪模式就是總會嘗試匹配更多的字符。非貪婪模式即懶惰模式則相反 懶惰模式總嘗試匹配最少的字符凑术。

在*翩蘸、?淮逊、+催首、{m,n}后面加上?泄鹏,可以將貪婪模式變成非貪婪模式

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末郎任,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子备籽,更是在濱河造成了極大的恐慌舶治,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件车猬,死亡現(xiàn)場離奇詭異霉猛,居然都是意外死亡,警方通過查閱死者的電腦和手機珠闰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門韩脏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人铸磅,你說我怎么就攤上這事『贾欤” “怎么了阅仔?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長弧械。 經(jīng)常有香客問我八酒,道長,這世上最難降的妖魔是什么刃唐? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任羞迷,我火速辦了婚禮,結(jié)果婚禮上画饥,老公的妹妹穿的比我還像新娘衔瓮。我一直安慰自己,他們只是感情好抖甘,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布热鞍。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪薇宠。 梳的紋絲不亂的頭發(fā)上偷办,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天,我揣著相機與錄音澄港,去河邊找鬼椒涯。 笑死,一個胖子當著我的面吹牛回梧,可吹牛的內(nèi)容都是我干的废岂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼漂辐,長吁一口氣:“原來是場噩夢啊……” “哼泪喊!你這毒婦竟也來了髓涯?” 一聲冷哼從身側(cè)響起袒啼,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎纬纪,沒想到半個月后蚓再,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡包各,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年摘仅,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片问畅。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡娃属,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出护姆,到底是詐尸還是另有隱情矾端,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布卵皂,位于F島的核電站秩铆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏灯变。R本人自食惡果不足惜殴玛,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望添祸。 院中可真熱鬧滚粟,春花似錦、人聲如沸刃泌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鲤遥,卻和暖如春沐寺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背盖奈。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工混坞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人钢坦。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓究孕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親爹凹。 傳聞我的和親對象是個殘疾皇子厨诸,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

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

  • Python中的正則表達式(re) import rere.match #從開始位置開始匹配,如果開頭沒有則無re...
    BigJeffWang閱讀 7,075評論 0 99
  • python的re模塊--細說正則表達式 可能是東半球最詳細最全面的re教程,翻譯自官方文檔,因為官方文檔寫的是真...
    立而人閱讀 22,873評論 4 46
  • re模塊手冊 本模塊提供了和Perl里的正則表達式類似的功能禾酱,不關(guān)是正則表達式本身還是被搜索的字符串微酬,都可以...
    喜歡吃栗子閱讀 4,002評論 0 13
  • #首先,python中的正則表達式大致分為以下幾部分: 元字符 模式 函數(shù) re 內(nèi)置對象用法 分組用法 環(huán)視用法...
    mapuboy閱讀 1,607評論 0 51
  • 太恐怖了垦江,真不知歲月到底在她的身上、心里留下什么樣的印記搅方? 和她了解比吭,只是想稍微了解一下情況。雖然我有心理準備得到...
    清湯寡水bh閱讀 189評論 3 0