Python 正規表示式
正規表示式本身是獨立於程式語言的知識,但是它又依附於程式語言,基本上我們所使用的程式語言都提供了對它的實現,當然了,各家的實現也是有一些差異的,有的支持的功能多一點,有的支持的少一點。
因為正規表示式是實踐中使用廣泛的工具,所以脫離語言的學習我認為是不太可靠的。
正規表示式的函數介紹
正規表示式主要API關係圖
- #match 從文本的開頭匹配正則表達式,返回匹配的對象,沒有就返回None
- search 在整個文本中匹配正規表示式,返回第一個匹配的對象,沒有就返回None。
- sub 利用正規表示式進行文字取代(正規表示式的功能:搜尋與取代)
- findall 從整個文字中比對正規表示式表達式,以列表的形式傳回所有符合的結果。
- finditer 從整個文字中匹配正規表示式,以迭代器的形式傳回所有符合的結果。
- split 利用正規表示式切分文字
re.compile 下面有很多同名的函數。直接在 ·re· 模組下的是官方提供方便使用的函數,透過
re.compile 來使用是最正統的方式。
所以,接下來的內容,我基本上智慧使用 re.compile 及其下的方法來實作。
compile 函數用來編譯正規表示式,產生一個正規表示式(Pattern)對象,供
match( ) 和
search() 以及其它函數使用。
re.compile(pattern[, flags])
- pattern: 字串形式的正規表示式
- flags 可選,表示符合模式,例如忽略大小寫,多行模式等,具體參數為:
- #re.I 忽略大小寫
- re. L 多行模式
- re.S 即為'.' 且包含換行符號在內的任意字元('.' 不包括換行符號)
- re.U 表示特殊字元集\w, \W, \b, \B, \d, \D, \s, \S 依賴Unicode 字元屬性資料庫
- re.X 為了增加可讀性,忽略空格和‘#’ 後面的註解
import re s = 'runoob 123 google 456' result1 = re.findall(r'\d+', s) pattern = re.compile(r'\d+') # 查找数字 result2 = pattern.findall(s) result3 = pattern.findall(s, 0, 20) print(result1) print(result2) print(result3) """ output: [‘123', ‘456'] [‘123', ‘456'] [‘123', ‘45'] """學習範本接下來我們要逐漸學習正規表示的內容,這些內容是非常有趣的! Interesting and Excited!
這裡給出一個接下來會一直使用的範例模板,這個模板是這篇部落格最重要的東西了,之後的內容都會基於它來擴充。所以,請好好理解它。
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("匹配的结束位置: ", m.end()) print("匹配位置的元组: ", m.span()) else: print("No match!") # 替换 new_text = pattern.sub("hate", text) print(new_text)
注意: 正規表示式regexp 在開始前會使用r 前綴,這樣做的目的是為了避免在正規表示式中大量使用轉義字符,破壞了整體的可讀性。
目的 | |
傳回正規符合的字串 | |
傳回符合的開始位置 | |
傳回符合的結束位置 | |
傳回包含符合(start, end) 位置的元組 |
以上是Python的正規表示式怎麼實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Arraysinpython,尤其是Vianumpy,ArecrucialInsCientificComputingfortheireftheireffertheireffertheirefferthe.1)Heasuedfornumerericalicerationalation,dataAnalysis和Machinelearning.2)Numpy'Simpy'Simpy'simplementIncressionSressirestrionsfasteroperoperoperationspasterationspasterationspasterationspasterationspasterationsthanpythonlists.3)inthanypythonlists.3)andAreseNableAblequick

你可以通過使用pyenv、venv和Anaconda來管理不同的Python版本。 1)使用pyenv管理多個Python版本:安裝pyenv,設置全局和本地版本。 2)使用venv創建虛擬環境以隔離項目依賴。 3)使用Anaconda管理數據科學項目中的Python版本。 4)保留系統Python用於系統級任務。通過這些工具和策略,你可以有效地管理不同版本的Python,確保項目順利運行。

numpyarrayshaveseveraladagesoverandastardandpythonarrays:1)基於基於duetoc的iMplation,2)2)他們的aremoremoremorymorymoremorymoremorymoremorymoremoremory,尤其是WithlargedAtasets和3)效率化,效率化,矢量化函數函數函數函數構成和穩定性構成和穩定性的操作,製造

數組的同質性對性能的影響是雙重的:1)同質性允許編譯器優化內存訪問,提高性能;2)但限制了類型多樣性,可能導致效率低下。總之,選擇合適的數據結構至關重要。

到CraftCraftExecutablePythcripts,lollow TheSebestPractices:1)Addashebangline(#!/usr/usr/bin/envpython3)tomakethescriptexecutable.2)setpermissionswithchmodwithchmod xyour_script.3)

numpyArraysareAreBetterFornumericalialoperations andmulti-demensionaldata,而learthearrayModuleSutableforbasic,內存效率段

numpyArraySareAreBetterForHeAvyNumericalComputing,而lelethearRayModulesiutable-usemoblemory-connerage-inderabledsswithSimpleDatateTypes.1)NumpyArsofferVerverVerverVerverVersAtility andPerformanceForlargedForlargedAtatasetSetsAtsAndAtasEndCompleXoper.2)

ctypesallowscreatingingangandmanipulatingc-stylarraysinpython.1)usectypestoInterfacewithClibrariesForperfermance.2)createc-stylec-stylec-stylarraysfornumericalcomputations.3)passarraystocfunctions foreforfunctionsforeffortions.however.however,However,HoweverofiousofmemoryManageManiverage,Pressiveo,Pressivero


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Linux新版
SublimeText3 Linux最新版

記事本++7.3.1
好用且免費的程式碼編輯器

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中