日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python入门基础篇(五)字符串的正则表达式re模块,全面解析!!!

發布時間:2025/3/15 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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模块,全面解析!!!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。