欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中正則表達(dá)式的用法實(shí)例匯總

 更新時(shí)間:2014年08月18日 16:43:50   投稿:shichen2014  
這篇文章主要介紹了Python中正則表達(dá)式的用法實(shí)例匯總,非常實(shí)用,需要的朋友可以參考下

正則表達(dá)式是Python程序設(shè)計(jì)中非常實(shí)用的功能,本文就常用的正則表達(dá)式做一匯總,供大家參考之用。具體如下:

一、字符串替換

1.替換所有匹配的子串

用newstring替換subject中所有與正則表達(dá)式regex匹配的子串

result, number = re.subn(regex, newstring, subject)

2.替換所有匹配的子串(使用正則表達(dá)式對象)

reobj = re.compile(regex)
result, number = reobj.subn(newstring, subject)

二、字符串拆分

1.字符串拆分

result = re.split(regex, subject)

2.字符串拆分(使用正則表示式對象)

reobj = re.compile(regex)
result = reobj.split(subject)

三、匹配

下面列出Python正則表達(dá)式的幾種匹配用法:

1.測試正則表達(dá)式是否匹配字符串的全部或部分

regex=ur"..." #正則表達(dá)式
if re.search(regex, subject):
  do_something()
else:
  do_anotherthing()

2.測試正則表達(dá)式是否匹配整個(gè)字符串

regex=ur"...\Z" #正則表達(dá)式末尾以\Z結(jié)束
if re.match(regex, subject):
  do_something()
else:
  do_anotherthing()

3. 創(chuàng)建一個(gè)匹配對象,然后通過該對象獲得匹配細(xì)節(jié)

regex=ur"..." #正則表達(dá)式
match = re.search(regex, subject)
if match:
  # match start: match.start()
  # match end (exclusive): match.end()
  # matched text: match.group()
  do_something()
else:
  do_anotherthing()

4.獲取正則表達(dá)式所匹配的子串

(Get the part of a string matched by the regex)

regex=ur"..." #正則表達(dá)式
match = re.search(regex, subject)
if match:
  result = match.group()
else:
  result = ""

5. 獲取捕獲組所匹配的子串

(Get the part of a string matched by a capturing group)

regex=ur"..." #正則表達(dá)式
match = re.search(regex, subject)
if match:
  result = match.group(1)
else:
  result = ""

6. 獲取有名組所匹配的子串

(Get the part of a string matched by a named group)

regex=ur"..." #正則表達(dá)式
match = re.search(regex, subject)
if match:
  result = match.group("groupname")
else:
  result = ""

7. 將字符串中所有匹配的子串放入數(shù)組中

(Get an array of all regex matches in a string)

result = re.findall(regex, subject)

8.遍歷所有匹配的子串

(Iterate over all matches in a string)

for match in re.finditer(r"<(.*?)\s*.*?/\1>", subject)
  # match start: match.start()
  # match end (exclusive): match.end()
  # matched text: match.group()

9.通過正則表達(dá)式字符串創(chuàng)建一個(gè)正則表達(dá)式對象

(Create an object to use the same regex for many operations)

reobj = re.compile(regex)

10.用法1的正則表達(dá)式對象版本

(use regex object for if/else branch whether (part of) a string can be matched)

reobj = re.compile(regex)
if reobj.search(subject):
  do_something()
else:
  do_anotherthing()

11.用法2的正則表達(dá)式對象版本

(use regex object for if/else branch whether a string can be matched entirely)

reobj = re.compile(r"\Z") #正則表達(dá)式末尾以\Z 結(jié)束
if reobj.match(subject):
  do_something()
else:
  do_anotherthing()

12.創(chuàng)建一個(gè)正則表達(dá)式對象,然后通過該對象獲得匹配細(xì)節(jié)

(Create an object with details about how the regex object matches (part of) a string)

reobj = re.compile(regex)
match = reobj.search(subject)
if match:
  # match start: match.start()
  # match end (exclusive): match.end()
  # matched text: match.group()
  do_something()
else:
  do_anotherthing()

13.用正則表達(dá)式對象獲取匹配子串

(Use regex object to get the part of a string matched by the regex)

reobj = re.compile(regex)
match = reobj.search(subject)
if match:
  result = match.group()
else:
  result = ""

14.用正則表達(dá)式對象獲取捕獲組所匹配的子串

(Use regex object to get the part of a string matched by a capturing group)

reobj = re.compile(regex)
match = reobj.search(subject)
if match:
  result = match.group(1)
else:
  result = ""

15.用正則表達(dá)式對象獲取有名組所匹配的子串

(Use regex object to get the part of a string matched by a named group)

reobj = re.compile(regex)
match = reobj.search(subject)
if match:
  result = match.group("groupname")
else:
  result = ""

16.用正則表達(dá)式對象獲取所有匹配子串并放入數(shù)組

(Use regex object to get an array of all regex matches in a string)

reobj = re.compile(regex)
result = reobj.findall(subject)

17.通過正則表達(dá)式對象遍歷所有匹配子串

(Use regex object to iterate over all matches in a string)

reobj = re.compile(regex)
for match in reobj.finditer(subject):
  # match start: match.start()
  # match end (exclusive): match.end()
  # matched text: match.group()

感興趣的讀者可以動(dòng)手調(diào)試一下本文實(shí)例代碼,相信會有新的收獲。

相關(guān)文章

  • Python pytest裝飾器總結(jié)(實(shí)例詳解)

    Python pytest裝飾器總結(jié)(實(shí)例詳解)

    這篇文章主要介紹了Python pytest裝飾器總結(jié),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • PyTorch使用tensorboard的SummaryWriter報(bào)錯(cuò)問題解決方案

    PyTorch使用tensorboard的SummaryWriter報(bào)錯(cuò)問題解決方案

    PyTorch使用tensorboard可以顯示網(wǎng)絡(luò)運(yùn)行情況,但偶爾使用SummaryWriter時(shí)遇到Segmentation fault錯(cuò)誤,這篇文章主要介紹了PyTorch使用tensorboard的SummaryWriter報(bào)錯(cuò)問題解決方案,需要的朋友可以參考下
    2024-06-06
  • 淺談Python 釘釘報(bào)警必備知識系統(tǒng)講解

    淺談Python 釘釘報(bào)警必備知識系統(tǒng)講解

    這篇文章主要介紹了淺談Python 釘釘報(bào)警必備知識系統(tǒng)講解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Python用list或dict字段模式讀取文件的方法

    Python用list或dict字段模式讀取文件的方法

    這篇文章主要給大家介紹了Python利用list字段模式或者dict字段模式讀取文件的方法,文中給出了詳細(xì)的介紹和示例代碼,相信對大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,有需要的朋友可以跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-01-01
  • python安裝cx_Oracle模塊常見問題與解決方法

    python安裝cx_Oracle模塊常見問題與解決方法

    這篇文章主要介紹了python安裝cx_Oracle模塊常見問題與解決方法,舉例分析了Python在Windows平臺與Linux平臺安裝cx_Oracle模塊常見問題、解決方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-02-02
  • django中使用原生sql語句的方法步驟

    django中使用原生sql語句的方法步驟

    這篇文章主要介紹了django中使用原生sql語句的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • python操作字典類型的常用方法(推薦)

    python操作字典類型的常用方法(推薦)

    下面小編就為大家?guī)硪黄猵ython操作字典類型的常用方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨小編過來看看吧
    2016-05-05
  • python隨機(jī)數(shù)分布random測試

    python隨機(jī)數(shù)分布random測試

    這篇文章主要為大家詳細(xì)介紹了python隨機(jī)數(shù)分布random的測試,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 你們要的Python繪畫3D太陽系詳細(xì)代碼

    你們要的Python繪畫3D太陽系詳細(xì)代碼

    這篇文章主要給大家介紹了關(guān)于如何利用Python 繪畫3D太陽系,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-10-10
  • Python中pandas模塊DataFrame創(chuàng)建方法示例

    Python中pandas模塊DataFrame創(chuàng)建方法示例

    這篇文章主要介紹了Python中pandas模塊DataFrame創(chuàng)建方法,結(jié)合實(shí)例形式分析了DataFrame的功能,以及pandas模塊基于列表、字段與數(shù)組創(chuàng)建DataFrame的相關(guān)操作技巧,需要的朋友可以參考下
    2018-06-06

最新評論