亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python正則表達(dá)式re.sub()用法詳解

 更新時(shí)間:2022年09月29日 10:25:41   作者:IT之一小佬  
re.sub用于替換字符串中的匹配項(xiàng),下面這篇文章主要給大家介紹了關(guān)于Python正則表達(dá)式re.sub()用法的相關(guān)資料,文中通過(guò)實(shí)例代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下

源代碼、參數(shù)及其意義:

def sub(pattern, repl, string, count=0, flags=0):
    """Return the string obtained by replacing the leftmost
    non-overlapping occurrences of the pattern in string by the
    replacement repl.  repl can be either a string or a callable;
    if a string, backslash escapes in it are processed.  If it is
    a callable, it's passed the Match object and must return
    a replacement string to be used."""
    return _compile(pattern, flags).sub(repl, string, count)

從源碼中看出re.sub()函數(shù)共有5個(gè)參數(shù):

  • pattern:表示正則中的模式字符串;
  • repl:表示要替換的字符串(即匹配到pattern后替換為repl),也可以是個(gè)函數(shù);
  • string:表示要被處理(查找替換)的原始字符串;
  • count:可選參數(shù),表示要替換的最大次數(shù),而且必須是非負(fù)整數(shù),該參數(shù)默認(rèn)為0,即所有的匹配都會(huì)替換;
  • flags:可選參數(shù),表示編譯時(shí)用的匹配模式(如忽略大小寫(xiě)、多行模式等),數(shù)字形式,默認(rèn)為0。

re.sub():匹配替換為選擇的文本。

1.匹配單個(gè)數(shù)字或字母

示例代碼:【只匹配單一數(shù)字】

import re
s = "您好,歡迎來(lái)到我的博客:https://blog.csdn.net/weixin_44799217,,,###,,,我的郵箱是:535646343@qq.com. Today is 2021/12/21. It is a wonderful DAY!"
#  只匹配單一數(shù)字
ret = re.sub(r'[0-9]', "*", s)
print(ret)

運(yùn)行結(jié)果:

re.sub(r'[0-9]', '*', s) 這句話表示只匹配單一數(shù)字,并將每一個(gè)數(shù)字替換為一個(gè)星號(hào) 。

示例代碼:【只匹配單一字母】

import re
 
s = "您好,歡迎來(lái)到我的博客:https://blog.csdn.net/weixin_44799217,,,###,,,我的郵箱是:535646343@qq.com. Today is 2021/12/21. It is a wonderful DAY!"
 
#  只匹配單一字母
ret = re.sub(r'[a-z]', "*", s)
print(ret)
ret = re.sub(r'[A-Z]', "*", s)
print(ret)
ret = re.sub(r'[a-zA-Z]', "*", s)
print(ret)
ret = re.sub(r'[A-z]', "*", s)
print(ret)

運(yùn)行結(jié)果:

 re.sub(r'[a-z]', '*', s) 表示只匹配單一小寫(xiě)字母,并將每一個(gè)小寫(xiě)字母替換為一個(gè)星號(hào) 。re.sub(r'[A-Z]', '*', s) 表示只匹配單一大寫(xiě)字母,并將每一個(gè)大寫(xiě)字母替換為一個(gè)星號(hào) 。re.sub(r'[A-Za-z]', '*', s) 這句話則表示只匹配單一字母,并將每一個(gè)字母替換為一個(gè)星號(hào) 。

示例代碼:【匹配單一數(shù)字和字母】

import re
 
s = "您好,歡迎來(lái)到我的博客:https://blog.csdn.net/weixin_44799217,,,###,,,我的郵箱是:535646343@qq.com. Today is 2021/12/21. It is a wonderful DAY!"
 
#  匹配單一數(shù)字和字母
ret = re.sub(r'[0-9a-z]', "*", s)
print(ret)
ret = re.sub(r'[0-9A-Z]', "*", s)
print(ret)
ret = re.sub(r'[0-9a-zA-Z]', "*", s)
print(ret)
ret = re.sub(r'[0-9A-z]', "*", s)
print(ret)

運(yùn)行結(jié)果:

re.sub(r'[0-9A-Z]', '*', s) 表示只匹配單一數(shù)字和大寫(xiě)字母,并將每一個(gè)數(shù)字和大寫(xiě)字母替換為一個(gè)星號(hào) 。
re.sub(r'[0-9a-z]', '*', s) 表示只匹配單一數(shù)字和小寫(xiě)字母,并將每一個(gè)數(shù)字和小寫(xiě)字母替換為一個(gè)星號(hào) 。
re.sub(r'[0-9A-Za-z]', '*', s) 表示只匹配單一數(shù)字和字母,并將每一個(gè)數(shù)字和字母替換為一個(gè)星號(hào) 。

2.匹配多個(gè)數(shù)字或字母

注意:這里的所說(shuō)的多個(gè)指的是大于等于一個(gè)。

示例代碼:【匹配多個(gè)數(shù)字】

import re
 
s = "您好,歡迎來(lái)到我的博客:https://blog.csdn.net/weixin_44799217,,,###,,,我的郵箱是:535646343@qq.com. Today is 2021/12/21. It is a wonderful DAY!"
 
#  匹配多個(gè)數(shù)字
ret = re.sub(r'[0-9]+', "*", s)
print(ret)

運(yùn)行結(jié)果:

re.sub(r'[0-9]+', '*', s) 表示匹配多個(gè)連續(xù)的數(shù)字,并將多個(gè)連續(xù)的數(shù)字替換為一個(gè)星號(hào) 。

示例代碼:【匹配多個(gè)字母】

import re
 
s = "您好,歡迎來(lái)到我的博客:https://blog.csdn.net/weixin_44799217,,,###,,,我的郵箱是:535646343@qq.com. Today is 2021/12/21. It is a wonderful DAY!"
 
#  匹配多個(gè)字母
ret = re.sub(r'[a-z]+', "*", s)
print(ret)
ret = re.sub(r'[A-Z]+', "*", s)
print(ret)
ret = re.sub(r'[a-zA-Z]+', "*", s)
print(ret)

運(yùn)行結(jié)果:

  • re.sub(r'[a-z]+', '*', s) 表示匹配多個(gè)連續(xù)的小寫(xiě)字母,并將多個(gè)連續(xù)的小寫(xiě)字母替換為一個(gè)星號(hào) 。
  • re.sub(r'[A-Z]+', '*', s) 表示匹配多個(gè)連續(xù)的大寫(xiě)字母,并將多個(gè)連續(xù)的大寫(xiě)字母替換為一個(gè)星號(hào) 。
  • re.sub(r'[A-Za-z]+', '*', s) 表示匹配多個(gè)連續(xù)的字母,并將多個(gè)連續(xù)的字母替換為一個(gè)星號(hào) 。

示例代碼:【匹配多個(gè)連續(xù)數(shù)字和字母】

import re
 
s = "您好,歡迎來(lái)到我的博客:https://blog.csdn.net/weixin_44799217,,,###,,,我的郵箱是:535646343@qq.com. Today is 2021/12/21. It is a wonderful DAY!"
 
#  匹配多個(gè)數(shù)字和字母
ret = re.sub(r'[0-9a-zA-Z]+', "*", s)
print(ret)

運(yùn)行結(jié)果:

re.sub(r'[0-9A-Za-z]+', '*', s) 表示匹配多個(gè)連續(xù)的數(shù)字和字母,并將多個(gè)連續(xù)的數(shù)字、連續(xù)的字母、連續(xù)的數(shù)字和字母替換為一個(gè)星號(hào) 。

3.匹配其他

示例代碼:【匹配非數(shù)字】

import re
 
s = "您好,歡迎來(lái)到我的博客:https://blog.csdn.net/weixin_44799217,,,###,,,我的郵箱是:535646343@qq.com. Today is 2021/12/21. It is a wonderful DAY!"
 
#  匹配非數(shù)字
ret = re.sub(r'[^0-9]', "*", s)
print(ret)
ret = re.sub(r'[^0-9]+', "*", s)
print(ret)

運(yùn)行結(jié)果:

  • re.sub(r'[^0-9]', '*', s) 表示匹配單個(gè)非數(shù)字,并將單個(gè)非數(shù)字替換為一個(gè)星號(hào) 。
  • re.sub(r'[^0-9]+', '*', s) 表示匹配多個(gè)連續(xù)的非數(shù)字,并將多個(gè)連續(xù)的非數(shù)字替換為一個(gè)星號(hào) 。

示例代碼:【匹配非字母】

import re
 
s = "您好,歡迎來(lái)到我的博客:https://blog.csdn.net/weixin_44799217,,,###,,,我的郵箱是:535646343@qq.com. Today is 2021/12/21. It is a wonderful DAY!"
 
#  匹配非字母
ret = re.sub(r'[^a-z]', "*", s)
print(ret)
ret = re.sub(r'[^A-Z]', "*", s)
print(ret)
ret = re.sub(r'[^a-zA-Z]', "*", s)
print(ret)
ret = re.sub(r'[^a-z]+', "*", s)
print(ret)
ret = re.sub(r'[^A-Z]+', "*", s)
print(ret)
ret = re.sub(r'[^a-zA-Z]+', "*", s)
print(ret)

運(yùn)行結(jié)果:

  • re.sub(r'[^a-z]', '*', s) 表示匹配單個(gè)非小寫(xiě)字母,并將單個(gè)非小寫(xiě)字母替換為一個(gè)星號(hào) 。
  • re.sub(r'[^A-Z]', '*', s) 表示匹配單個(gè)非大寫(xiě)字母,并將單個(gè)非大寫(xiě)字母替換為一個(gè)星號(hào) 。
  • re.sub(r'[^A-Za-z]', '*', s) 表示匹配單個(gè)非字母,并將單個(gè)非字母替換為一個(gè)星號(hào) 。
  • re.sub(r'[^a-z]+', '*', s) 表示匹配多個(gè)連續(xù)的非小寫(xiě)字母,并將多個(gè)連續(xù)的非小寫(xiě)字母替換為一個(gè)星號(hào) 。
  • re.sub(r'[^A-Z]+', '*', s) 表示匹配多個(gè)連續(xù)的非大寫(xiě)字母,并將多個(gè)連續(xù)的非大寫(xiě)字母替換為一個(gè)星號(hào) 。
  • re.sub(r'[^A-Za-z]+', '*', s)表示匹配多個(gè)連續(xù)的非字母,并將多個(gè)連續(xù)的非字母替換為一個(gè)星號(hào) 。

示例代碼:【匹配非數(shù)字和非字母】

import re
 
s = "您好,歡迎來(lái)到我的博客:https://blog.csdn.net/weixin_44799217,,,###,,,我的郵箱是:535646343@qq.com. Today is 2021/12/21. It is a wonderful DAY!"
 
#  匹配非數(shù)字和非字母
ret = re.sub(r'[^0-9a-zA-Z]', "*", s)
print(ret)
ret = re.sub(r'[^0-9a-zA-Z]+', "*", s)
print(ret)

運(yùn)行結(jié)果:

  • re.sub(r'[^0-9A-Za-z]', '*', s) 表示匹配單個(gè)非數(shù)字和非字母,并將單個(gè)非數(shù)字和非字母替換為一個(gè)星號(hào) 。
  • re.sub(r'[^0-9A-Za-z]+', '*', s) 表示匹配多個(gè)連續(xù)的非數(shù)字和非字母,并將多個(gè)連續(xù)的非數(shù)字和非字母替換為一個(gè)星號(hào) 。

示例代碼:【匹配固定形式】【只保留字母和空格,將 repl 設(shè)置為空字符即可】

import re
 
s = "您好,歡迎來(lái)到我的博客:https://blog.csdn.net/weixin_44799217,,,###,,,我的郵箱是:535646343@qq.com. Today is 2021/12/21. It is a wonderful DAY!"
 
#  匹配固定形式
ret = re.sub(r'[^a-z ]', " ", s)
print(ret)
ret = re.sub(r'[^a-z ]+', " ", s)
print(ret)
ret = re.sub(r'[^a-zA-Z ]', " ", s)
print(ret)
ret = re.sub(r'[^a-zA-Z ]+', " ", s)
print(ret)

運(yùn)行結(jié)果:

示例代碼:【去除以 @ 開(kāi)頭的英文單詞】

import re
 
s = "您好,歡迎來(lái)到我的博客:https://blog.csdn.net/weixin_44799217,,,###,,,我的郵箱是:535646343@qq.com. Today is 2021/12/21. It is a wonderful DAY!"
 
#  去除以 @ 開(kāi)頭的英文單詞
ret = re.sub(r'@[a-zA-Z ]+', " ", s)
print(ret)

運(yùn)行結(jié)果:

示例代碼:【去除原始字符串中的URL】

import re
 
s = "您好,歡迎來(lái)到我的博客:https://blog.csdn.net/weixin_44799217,,,###,,,我的郵箱是:535646343@qq.com. Today is 2021/12/21. It is a wonderful DAY!"
 
#  d.去除原始字符串中的URL
ret = re.sub(r'https[:.]+\S+', "", s)
print(ret)

運(yùn)行結(jié)果:

示例代碼:【匹配到的所有空格使用“+”來(lái)替換】

import re
 
s = "Long live the people's Republic of China"
ret = re.sub("\s", "+", s)
print(ret)
 
ret2 = re.sub("\s", "+", s, 3)  # 通過(guò)count參數(shù)控制替換的次數(shù)
print(ret2)

運(yùn)行結(jié)果:

總結(jié) 

到此這篇關(guān)于Python正則表達(dá)式re.sub()用法詳解的文章就介紹到這了,更多相關(guān)Python re.sub()用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Pycharm創(chuàng)建Django項(xiàng)目示例實(shí)踐

    Pycharm創(chuàng)建Django項(xiàng)目示例實(shí)踐

    本文主要介紹了Pycharm創(chuàng)建Django項(xiàng)目示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • python實(shí)現(xiàn)修改xml文件內(nèi)容

    python實(shí)現(xiàn)修改xml文件內(nèi)容

    這篇文章主要介紹了python實(shí)現(xiàn)修改xml文件內(nèi)容,XML 指可擴(kuò)展標(biāo)記語(yǔ)言,是一種標(biāo)記語(yǔ)言,是從標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言(SGML)中簡(jiǎn)化修改出來(lái)的
    2022-07-07
  • 用Python做一個(gè)嗶站小姐姐詞云跳舞視頻

    用Python做一個(gè)嗶站小姐姐詞云跳舞視頻

    這篇文章主要介紹了用Python做一個(gè)嗶站小姐姐詞云跳舞視頻, 本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • django框架CSRF防護(hù)原理與用法分析

    django框架CSRF防護(hù)原理與用法分析

    這篇文章主要介紹了django框架CSRF防護(hù)原理與用法,結(jié)合實(shí)例形式分析了Django框架CSRF防護(hù)的概念、原理、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-07-07
  • python3的一個(gè)天坑問(wèn)題及解決方法:報(bào)錯(cuò)UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xa3 in position 59: invalid

    python3的一個(gè)天坑問(wèn)題及解決方法:報(bào)錯(cuò)UnicodeDecodeError: ‘utf-8‘ 

    在調(diào)試程序發(fā)現(xiàn)python3的一個(gè)天坑問(wèn)題:報(bào)錯(cuò)UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xa3 in position 59: invalid,特此曝光,為眾位開(kāi)發(fā)朋友提個(gè)醒
    2023-09-09
  • 詳解python變量的命名和使用

    詳解python變量的命名和使用

    變量名只能包含字母、數(shù)字和下劃線,本文主要介紹了詳解python變量的命名和使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-12-12
  • python中Django文件上傳方法詳解

    python中Django文件上傳方法詳解

    在本篇文章里小編給大家整理了一篇關(guān)于python中Django文件上傳方法,有興趣的朋友們可以學(xué)習(xí)下。
    2020-08-08
  • Selenium之模擬登錄鐵路12306的示例代碼

    Selenium之模擬登錄鐵路12306的示例代碼

    這篇文章主要介紹了Selenium之模擬登錄鐵路12306的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 詳解Python如何實(shí)現(xiàn)查看WiFi密碼

    詳解Python如何實(shí)現(xiàn)查看WiFi密碼

    這篇文章主要為大家詳細(xì)介紹了如何使用python來(lái)試試看看能不能讀取到已連接過(guò)WIFI的密碼,文中的示例代碼講解詳細(xì),?感興趣的小伙伴可以了解下
    2023-11-11
  • Python實(shí)現(xiàn)的排列組合計(jì)算操作示例

    Python實(shí)現(xiàn)的排列組合計(jì)算操作示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的排列組合計(jì)算操作,涉及Python數(shù)學(xué)運(yùn)算的相關(guān)函數(shù)與使用技巧,需要的朋友可以參考下
    2017-10-10

最新評(píng)論