最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談Python的正則表達式

 更新時間:2023年04月21日 08:43:41   作者:CrazyDragon_King  
這篇文章主要介紹了淺談Python的正則表達式,正則表達式本身是獨立于編程語言的知識,但是它又依附于編程語言,需要的朋友可以參考下

Python 正則表達式

正則表達式本身是獨立于編程語言的知識,但是它又依附于編程語言,基本上我們所使用的編程語言都提供了對它的實現(xiàn),當(dāng)然了,各家的實現(xiàn)也是有一些差異的,有的支持的功能多一點,有的支持的少一點。

因為正則表達式是實踐中使用廣泛的工具,所以脫離語言的學(xué)習(xí)我認為是不靠譜的。

正則表達式的函數(shù)介紹

正則表達式主要API關(guān)系圖

這個圖是我個人總結(jié)的,我覺得基本上把這里的函數(shù)的關(guān)系弄清楚了,它們的作用是:

  • match 從文本的開頭匹配正則表達式,返回匹配的對象,沒有就返回 None
  • search 在整個文本中匹配正則表達式,返回第一個匹配的對象,沒有就返回 None。
  • sub 利用正則表達式進行文本替換(正則表達式的功能:搜索和替換)
  • findall 從整個文本中匹配正則表達式,以列表的形式返回所有匹配的結(jié)果。
  • finditer 從整個文本中匹配正則表達式,以迭代器的形式返回所有匹配的結(jié)果。
  • split 利用正則表達式切分文本

這里可以看出,·re· 下面有很多立即可以使用的函數(shù),然后 re.compile 下面有很多同名的函數(shù)。直接在 ·re· 模塊下的是官方提供方便使用的函數(shù),通過 re.compile 來使用是最正統(tǒng)的方式。所以,接下來的內(nèi)容,我基本上智慧使用 re.compile 及其下的方法來實現(xiàn)。

re.compile 函數(shù)

compile 函數(shù)用于編譯正則表達式,生成一個正則表達式 (Pattern)對象,供 match()search() 以及其它函數(shù)使用。

語法:

re.compile(pattern[, flags])
  • pattern: 一個字符串形式的正則表達式
  • flags 可選,表示匹配模式,比如忽略大小寫,多行模式等,具體參數(shù)為:
    • re.I 忽略大小寫
    • re.L 多行模式
    • re.S 即為 '.' 并且包括換行符在內(nèi)的任意字符('.' 不包括換行符)
    • re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依賴 Unicode 字符屬性數(shù)據(jù)庫
    • re.X 為了增加可讀性,忽略空格和 ‘#’ 后面的注釋

示例:查找字符串中的所有數(shù)字

import re

s = 'runoob 123 google 456'
result1 = re.findall(r'\d+', s)

pattern = re.compile(r'\d+') # 查找數(shù)字
result2 = pattern.findall(s)
result3 = pattern.findall(s, 0, 20)


print(result1)
print(result2)
print(result3)


"""
output:
[‘123', ‘456']
[‘123', ‘456']
[‘123', ‘45']
"""

學(xué)習(xí)模板

接下來我們要逐漸學(xué)習(xí)正則表達的內(nèi)容,這些內(nèi)容是非常有趣的!Interesting and Excited!

這里給出一個接下來會一直使用的示例模板,這個模板是這篇博客最重要的東西了,之后的內(nèi)容都會基于它進行擴展。所以,請好好理解它。

import re

# 需要進行搜索或者匹配的文本
text = """I love you yesterday and today."""

# 正則表達式
regexp = r'love'


# 編譯(對正則表達式進行編譯獲取 Pattern Object)
pattern = re.compile(regexp)

# 搜索
m = pattern.search(text)
if m:
    print("匹配對象: ", m)
    print("匹配的字符串: ", m.group())
    print("匹配的開始位置: ", m.start())
    print("匹配的結(jié)束位置: ", m.end())
    print("匹配位置的元組: ", m.span())
else:
    print("No match!")

# 替換
new_text = pattern.sub("hate", text)
print(new_text)

在這里插入圖片描述

注意: 正則表達式 regexp 在開始前會使用 r 前綴,這樣做的目的是為了避免在正則表達式中大量使用轉(zhuǎn)義字符,破壞了整體的可讀性。

Python 的正則表達式包含了很多非常易用的方法,但是這里我并不會過多介紹它們。我們會一直使用上面這種模式,因為那些易用的方法只是對它的一種封裝,學(xué)習(xí)使用這種基本的方式自然就會其它的了。

匹配對象 可以獲取有關(guān)正則表達式的信息,它最重要的方法和屬性是:

方法/屬性目的
group()返回正則匹配的字符串
start()返回匹配的開始位置
end()返回匹配的結(jié)束位置
span()返回包含匹配 (start, end) 位置的元組

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

相關(guān)文章

  • python格式化輸出%s與format()的用法對比

    python格式化輸出%s與format()的用法對比

    這篇文章主要為大家介紹了python格式化輸出%s與format()的用法對比,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-10-10
  • python 實現(xiàn)屏幕錄制示例

    python 實現(xiàn)屏幕錄制示例

    今天小編就為大家分享一篇python 實現(xiàn)屏幕錄制示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • pandas中Series的使用方式

    pandas中Series的使用方式

    這篇文章主要介紹了pandas中Series的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python模擬用戶登錄驗證

    Python模擬用戶登錄驗證

    這篇文章主要為大家詳細介紹了Python模擬用戶登錄驗證的相關(guān)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • pyttsx3實現(xiàn)中文文字轉(zhuǎn)語音的方法

    pyttsx3實現(xiàn)中文文字轉(zhuǎn)語音的方法

    今天小編就為大家分享一篇pyttsx3實現(xiàn)中文文字轉(zhuǎn)語音的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python matplotlib 注釋文本箭頭簡單代碼示例

    python matplotlib 注釋文本箭頭簡單代碼示例

    這篇文章主要介紹了python matplotlib 注釋文本箭頭簡單代碼示例,具有一定借鑒價值。
    2018-01-01
  • Python繪制雷達圖時遇到的坑的解決

    Python繪制雷達圖時遇到的坑的解決

    這篇文章主要介紹了Python繪制雷達圖時遇到的坑的解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • python四則運算表達式求值示例詳解

    python四則運算表達式求值示例詳解

    這篇文章主要為大家介紹了python四則運算表達式求值示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Python二次規(guī)劃和線性規(guī)劃使用實例

    Python二次規(guī)劃和線性規(guī)劃使用實例

    這篇文章主要介紹了Python二次規(guī)劃和線性規(guī)劃使用實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • 使用python創(chuàng)建圖片格式轉(zhuǎn)換器的實現(xiàn)步驟

    使用python創(chuàng)建圖片格式轉(zhuǎn)換器的實現(xiàn)步驟

    本教程將指導(dǎo)如何使用 Python 編寫的圖片格式轉(zhuǎn)換工具 ImaCon_ter.py,該工具能夠?qū)D片從一種格式轉(zhuǎn)換為另一種格式,文章通過代碼示例講解的非常詳細,感興趣的小伙伴跟著小編一起來看看吧
    2024-12-12

最新評論

禹州市| 万州区| 新竹县| 梅河口市| 泗阳县| 开封市| 昭苏县| 崇明县| 拜泉县| 青浦区| 香港| 蒙山县| 探索| 芷江| 凤冈县| 汉川市| 平泉县| 三亚市| 桃江县| 白城市| 华池县| 登封市| 红桥区| 鲁山县| 博乐市| 信丰县| 仪征市| 比如县| 克山县| 内乡县| 称多县| 旌德县| 陇西县| 将乐县| 沾益县| 扎鲁特旗| 岫岩| 文登市| 普宁市| 松江区| 华容县|