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

Python正則表達(dá)式字符串的匹配、替換、分割、查找方式

 更新時間:2023年07月07日 09:56:24   作者:pNull  
這篇文章主要介紹了Python正則表達(dá)式字符串的匹配、替換、分割、查找方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Python正則表達(dá)式字符串匹配、替換、分割、查找

1、search(pattern, string, flags=0)      在一個字符串中查找匹配

2、findall(pattern, string ,flags=0)     找到匹配,返回所有匹配部分的列表

3、sub(pattern, repl, string , count=0, flags=0)    將字符串中匹配正則表達(dá)式的部分替換為其他值

4、split(pattern, string ,maxsplit=0, flags=0)  根據(jù)匹配分割字符串,返回分隔符串組成的列表

用法:

In [1]: import re  
In [2]: str1='imooc video=1000'  
In [3]: str1.find('1000')#可以查找出索引值  
Out[3]: 12  
In [4]: str1='imoocvideo=1000'  
In [5]: str1.find('1000')  
Out[5]: 11  
In [6]: info=re.search(r'\d+',str1)#'\d'代表任意一個數(shù)字,'+'可以匹配數(shù)字一次或者無限次,只能匹配最前面的  
In [7]: info  
Out[7]: <_sre.SRE_Match at 0xb6bf9b48>  
In [8]: info.group()  
Out[8]: '1000'  
In [1]: import re  
In [2]: str1='java=1000,python=9090'  
In [3]: info=re.findall(r'\d+',str1)#找到所有匹配的字符串,并把它們放到一個列表中  
In [4]: info  
Out[4]: ['1000', '9090']  
In [5]: sum([int(x) for x in info])  
Out[5]: 10090  
In [25]: def add1(match):#傳入的match是一個字符串對象,  
   ....:     val=match.group()#匹配的字符串  
   ....:     num=int(val)+1 #強(qiáng)制轉(zhuǎn)換  
   ....:     return str(num)#強(qiáng)制轉(zhuǎn)化  
   ....:  
In [28]: info=re.sub(r'\d+',add1,str4)#sub就是替換字符串和函數(shù)  
In [29]: info  
Out[29]: 'python video =10001'  
In [35]: str6='imooc:java c++ python c#'  
 In [36]: re.split(r':| ',str6)#split用來分割字符串,':|'的意思是只要看見冒號和空格就會分割成一部分  
Out[36]: ['imooc', 'java c++ python c#']  
In [37]: re.split(r':| ',str6)  
Out[37]: ['imooc', 'java', 'c++', 'python', 'c#']  

Python字符串及正則表達(dá)式

字符串可以用單引號或雙引號來創(chuàng)建

也可以用三引號來創(chuàng)建多行字符串

String_1 = '加快發(fā)展'
String_2 = "促進(jìn)生產(chǎn)"
String_3 = """吾家吾國,
吾家吾國,
吾家吾國,
吾家吾國。"""

字符串匹配函數(shù)

re.match函數(shù)(起始位置匹配成功才算成功)

  • re.match("匹配的正則表達(dá)式","要匹配的字符串","控制正則表達(dá)式的匹配方式").span()
  • re.match 嘗試從字符串的起始位置匹配一個模式,如果不是起始位置匹配成功的話,match()就返回 None。

 

re.search(掃描整個字符串并返回第一個成功的匹配)

re.search('要匹配的正則表達(dá)式','要匹配的字符串','標(biāo)志位(同上)').span()

掃描整個字符串并返回第一個成功匹配,span會使結(jié)果為第一個成功匹配的位置索引

re.match 和 re.search的區(qū)別

re.match 只匹配字符串的開始,如果字符串開始不符合正則表達(dá)式,則匹配失敗,函數(shù)返回 None;而 re.search 匹配整個字符串,直到找到一個匹配。

re.sub(替換字符串中的匹配項(xiàng))

re.sub(pattern, repl, string, count=0, flags=0)
  • pattern: 正則表達(dá)式中模式字符串
  • repl: 替換的字符串,也可為一個函數(shù)
  • string: 要被查找替換的原始字符串
  • count: 模式匹配后替換的最大次數(shù),默認(rèn) 0 表示替換所有的匹配

recompile 函數(shù)

compile 函數(shù)用于編譯正則表達(dá)式,生成一個正則表達(dá)對象,供 match() 和 search() 這兩個函數(shù)使用。

re.compile(pattern[,flags])
  • pattern:一個字符串形式的正則表達(dá)式
  • flags:匹配模式,可選可不選

findall函數(shù)

findall("待匹配的字符串","指定字符串的起始位置","指定字符串的結(jié)束位置")

起始位置與結(jié)束位置可選可不選

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python類方法中的self關(guān)鍵字使用

    python類方法中的self關(guān)鍵字使用

    這篇文章主要介紹了python類方法中的self關(guān)鍵字使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • django model 條件過濾 queryset.filter(**condtions)用法詳解

    django model 條件過濾 queryset.filter(**condtions)用法詳解

    這篇文章主要介紹了django model 條件過濾 queryset.filter(**condtions)用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • pandas實(shí)戰(zhàn):分析三國志人物示例實(shí)現(xiàn)

    pandas實(shí)戰(zhàn):分析三國志人物示例實(shí)現(xiàn)

    這篇文章主要介紹了pandas實(shí)戰(zhàn):分析三國志人物示例實(shí)現(xiàn),本文章內(nèi)容詳細(xì),具有很好的參考價值,希望對大家有所幫助,需要的朋友可以參考下
    2023-01-01
  • 使用 Python 查找本月的最后一天的方法匯總

    使用 Python 查找本月的最后一天的方法匯總

    這篇文章主要介紹了使用 Python 查找本月的最后一天,在本文中,我們學(xué)習(xí)了使用 datetime 和 calendar 等內(nèi)置庫以及 arrow 和 pandas 等第三方庫在 Python 中查找月份最后一天的各種方法,需要的朋友可以參考下
    2023-05-05
  • Python爬蟲之正則表達(dá)式基本用法實(shí)例分析

    Python爬蟲之正則表達(dá)式基本用法實(shí)例分析

    這篇文章主要介紹了Python爬蟲之正則表達(dá)式基本用法,結(jié)合實(shí)例形式分析了Python正則表達(dá)式的基本概念、函數(shù)語法、相關(guān)使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • Python新手入門最容易犯的錯誤總結(jié)

    Python新手入門最容易犯的錯誤總結(jié)

    這篇文章主要總結(jié)了一些關(guān)于Python新手入門最容易犯的錯誤,希望通過學(xué)習(xí)本文總結(jié)的十二點(diǎn)易犯錯誤點(diǎn),能夠給新手們帶來一定的幫助,需要的朋友可以參考學(xué)習(xí),下面來一起看看吧。
    2017-04-04
  • Python中的支持向量機(jī)SVM的使用(附實(shí)例代碼)

    Python中的支持向量機(jī)SVM的使用(附實(shí)例代碼)

    這篇文章主要介紹了Python中的支持向量機(jī)SVM的使用(附實(shí)例代碼),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python利用物理引擎Pymunk編寫一個解壓小游戲

    Python利用物理引擎Pymunk編寫一個解壓小游戲

    這篇文章主要為大家詳細(xì)介紹了Python如何利用物理引擎Pymunk編寫一個解壓小游戲,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以嘗試一下
    2023-01-01
  • python用for循環(huán)求和的方法總結(jié)

    python用for循環(huán)求和的方法總結(jié)

    在本篇文章里小編給各位分享了關(guān)于python用for循環(huán)求和的方法以及相關(guān)實(shí)例代碼,需要的朋友們參考學(xué)習(xí)下。
    2019-07-07
  • Django基礎(chǔ)之Model操作步驟(介紹)

    Django基礎(chǔ)之Model操作步驟(介紹)

    下面小編就為大家?guī)硪黄狣jango基礎(chǔ)之Model操作步驟(介紹)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05

最新評論