Python入门基础篇(五)字符串的正则表达式re模块,全面解析!!!
文章目錄
- 前言
- 一.匹配字符串的方法
- 1.使用match()方法進行匹配
- 2.使用search()方法進行匹配
- 3.使用findall方法進行匹配
- 二.替換字符串
- 三.使用正則表達式分割字符串
前言
Python中提供了re模塊用于正則表達式的操作,在實現時可以用re模塊提供的多種方法對字符串進行處理,re模塊在使用時,需要先應用import語句導入,即
import re
不知道其他人對于開始學習正則表達式是什么感覺,反正我是迷糊了很久。下面我們就來仔細講講re模塊提供的那些方法吧
一.匹配字符串的方法
匹配字符串可以使用re模塊提供的match()、search()和findall()等方法
1.使用match()方法進行匹配
match()方法用于從字符串的開始處進行匹配,如果在起始位置匹配成功則返回Match對象,否則返回None,語法格式如下:
re.match(pattern,string,[flags])
pattern:表示模式字符串,由要匹配的正則表達式轉換而來
string:表示要匹配的字符串
flags:可選參數,表示標志位,用于控制匹配方式
例如,匹配字符串是否以“hg”開頭,不區分大小寫:
實現代碼:
運行結果:
解釋一下運行結果吧,從上面的結果來看,字符串string是以“hg_”開頭(不區分大小寫),所以返回一個Match對象,而字符串str不是以“hg_”開頭,當用match()方法從字符串起始位置開始匹配時,遇見不符合條件的字母便不會再匹配了,所以返回“None”
Match對象中包含了匹配值的位置(使用start()方法獲取)和匹配數據(使用end()方法獲取),通過span()方法可以返回匹配位置的元組,通過string屬性可以獲取要匹配的字符串。
例:
運行結果:
2.使用search()方法進行匹配
search()方法用于在整個字符串中搜索第一個匹配的值,如果匹配成功,則返回Match對象,否則返回 None
語法格式如下:
re.search(pattern,string,[flags])
例如,搜索一個以“hg”開頭的字符串,不分大小寫
實現代碼:
運行結果:
從運行結果可以看出來search()方法搜索字符串時,并不一定只能搜索字符串的起始位置,其他位置也可以進行搜索
3.使用findall方法進行匹配
findall()方法用于在整個字符串中搜索所有符合正則表達式的字符串,并以列表的形式返回,如果匹配成功,則返回含有匹配結構的列表,否則返回空列表
語法格式如下:
re.findall(pattern,string,[flags])
例如,搜索一個以“hg”開頭的字符串,不分大小寫
實現代碼:
運行結果:
二.替換字符串
可以用sub()方法用于實現字符串的替換,語法格式如下:
re.sub(pattern,repl,string,count,flags)
pattern:表示模式字符串,由要匹配的正則表達式轉換而來
repl:表示替換的字符串
string:表示要匹配的字符串
count:可選參數,表示模式匹配后替換的最大次數,默認值為0,表示替換所有的匹配
flags:可選參數,表示標志位,用于控制匹配方式
例如,隱藏個人信息:
實現代碼:
運行結果:
三.使用正則表達式分割字符串
split()方法用于實現根據正則表達式分割字符串并以列表的形式返回,語法格式如下:
re.split(pattern,string,[maxsplit],[flags])
maxsplit:可選參數,表示最大拆分次數
例如,從給定的URL地址中提取出請求地址和各個參數
實現代碼:
運行結果:
希望這些對大家有所幫助,自我感覺字符串的正則表達式對于初學者還是挺難的,不過好好加油吧,越是艱難越向前つ﹏?
| 加油加油 |
總結
以上是生活随笔為你收集整理的Python入门基础篇(五)字符串的正则表达式re模块,全面解析!!!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 金蝶报表制作_BI报表不光好看,更好用,
- 下一篇: 个人计算机的防毒软件无法防御,在win1