欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python re模塊介紹

系統 1770 0

Python中轉義字符

正則表達式使用反斜杠” \ “來代表特殊形式或用作轉義字符,這里跟Python的語法沖突,因此,Python用” \\\\ “表示正則表達式中的” \ “,因為正則表達式中如果要匹配” \ “,需要用\來轉義,變成” \\ “,而Python語法中又需要對字符串中每一個\進行轉義,所以就變成了” \\\\ “。
上面的寫法是不是覺得很麻煩,為了使正則表達式具有更好的可讀性,Python特別設計了原始字符串(raw string),需要提醒你的是,在寫文件路徑的時候就不要使用raw string了,這里存在陷阱。raw string就是用'r'作為字符串的前綴,如 r”\n”:表示兩個字符”\”和”n”,而不是換行符了。Python中寫正則表達式時推薦使用這種形式。

正則表達式元字符說明

          
.  匹配除換行符以外的任意字符
^  匹配字符串的開始
$  匹配字符串的結束
[] 用來匹配一個指定的字符類別
?  對于前一個字符字符重復0次到1次
*  對于前一個字符重復0次到無窮次
{} 對于前一個字符重復m次
{m,n} 對前一個字符重復為m到n次
\d 匹配數字,相當于[0-9]
\D 匹配任何非數字字符,相當于[^0-9]
\s 匹配任意的空白符,相當于[ fv]
\S 匹配任何非空白字符,相當于[^ fv]
\w 匹配任何字母數字字符,相當于[a-zA-Z0-9_]
\W 匹配任何非字母數字字符,相當于[^a-zA-Z0-9_]
\b 匹配單詞的開始或結束
        

模塊函數說明即舉例
re.compile 將正則表達式編譯成pattern對象

          
compile(pattern, flags=0)
        

第一個參數:規則
第二個參數:標志位

re.match 只匹配字符串的開始,如果字符串開始不符合正則表達式,則匹配失敗,函數返回None

          
match(pattern, string, flags=0)
        

第一個參數:規則
第二個參數:表示要匹配的字符串
第三個參數:標致位,用于控制正則表達式的匹配方式

re.search 匹配整個字符串,直到找到一個匹配

          
search(pattern, string, flags=0)
        

第一個參數:規則
第二個參數:表示要匹配的字符串
第三個參數:標致位,用于控制正則表達式的匹配方式

          
>>> import re
>>> pattern = re.compile(r'linuxeye')
>>> match = pattern.match('jb51.net')
>>> print match
<_sre.SRE_Match object at 0x7f4e96e61c60>
>>> print match.group()
linuxeye
>>> m = pattern.match('blog.jb51.net') #match匹配開頭,沒找到
>>> print m
None
>>> m = pattern.search('blog.jb51.net') #search匹配整個字符串,直到找到一個匹配
>>> print m
<_sre.SRE_Match object at 0x7f15abfc6b28>
>>> print m.group()
linuxeye
        
          
>>> m = re.match(r'linuxeye','jb51.net') #不用re.compile
>>> print m
<_sre.SRE_Match object at 0x7f4e96e61b90>
>>> print m.group()
linuxeye
>>> m = re.match(r'linuxeye','www.jb51.net')
>>> print m
None
        

re.split 用于來分割字符串

          
split(pattern, string, maxsplit=0)
        

第一個參數:規則
第二個參數:字符串
第三個參數:最大分割字符串,默認為0,表示每個匹配項都分割
實例:分割所有的字符串

          
>>> import re
>>> test_str = "1 2 3 4 5"
>>> re.split(r'\s+',test_str)
['1', '2', '3', '4', '5']
>>> re.split(r'\s+',test_str,2) #分割前2個
['1', '2', '3 4 5']
 
>>> test_str = "1 . 2. 3 .4 . 5"
>>> re.split(r'\.',test_str)
['1 ', ' 2', ' 3 ', '4 ', ' 5']
>>> re.split(r'\.',test_str,3)
['1 ', ' 2', ' 3 ', '4 . 5']
        

re.findall 在目標字符串查找符合規則的字符串

          
findall(pattern, string, flags=0)
        

第一個參數:規則
第二個參數:目標字符串
但三個參數:后面還可以跟一個規則選擇項
返回的結果是一個列表,建中存放的是符合規則的字符串,如果沒有符合規則的字符串唄找到,就會返回一個空值

          
>>> import re
>>> test_mail = '
          
            
               test03@gmail.net'
>>> mail_re = re.compile(r'\w+@g....\.[a-z]{3}')
>>> re.findall(mail_re,test_mail)
['test01@gmail.com', 'test02@gmail.org', 'test03@gmail.net']
            
          
        

re.sub 以正則表達式為基礎的替換工作

          
sub(pattern, repl, string, count=0)
        

第一個參數:規則
第二個參數:替換后的字符串
第三個參數:字符串
第四個參數:替換個數。默認為0,表示每個匹配項都替換

          
>>> test = 'blog.jb51.net jb51.net'
>>> test_re = re.compile(r'\.')
>>> re.sub(test_re,'--',test)
'blog--linuxeye--com linuxeye--com'
>>> re.sub(test_re,'--',test,1)
'blog--jb51.net jb51.net'
        

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 97超级碰碰视频在线 | 国产精品123区 | 九九在线精品视频 | 九九热在线免费观看 | 91福利精品老师国产自产在线 | 国产精品久久久久免费视频 | 久久综合影院 | 九草在线 | 97日日摸天天碰免费视频 | 霍元甲之精武天下 | 天干夜天天夜天干天 | 日韩在线观看中文字幕 | 免费黄色a视频 | 亚洲综合久久伊人热 | 性xxxx视频播放免费 | 毛片毛片毛片毛片毛片毛片 | 黄色片免费在线 | 日朝欧美亚洲精品 | 天天做天天添天天谢 | 婷婷色中文字幕 | 欧美欲乱妇135 | 狠狠干伊人 | 816969c| 青青青青手机在线视频观看国产 | av黄色在线 | 99热久久这里只精品国产9 | 亚洲午夜日韩高清一区 | av网站在线看 | 亚洲毛片网站 | 久久香蕉国产精品一区二区三 | 四虎永久 | 欧美成人久久 | 日韩欧美中文字幕在线播放 | 欧美亚洲国产一区 | 日韩一二三 | 日本在线视频不卡 | 国产大片免费天天看 | 九九爱这里只有精品 | 欧美成人私人视频88在线观看 | 91精品久久久久久久久久小网站 | 黑人xxx视频 |