Python正則表達式的另類解答
一、正則表達式的作用
提示:正則表達式是一段特殊的字符串,它表示的是一段有規(guī)律的信息。如果我們想從一段文字中提取想要的內(nèi)容,就可以通過正則表達式來方便的幫助我們提取。
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
二、正則表達式基本符號
1.點號“.”
“.”表示的是匹配除了換行符以外的任何一個字符,包括但不限于英文字母、數(shù)字、漢字、英文標點符號和中文標點符號。
2.星號“”
“”表示匹配它前面的一個子表達式(普通字符、另一個或幾個正則表達式符號)0次到無限次。
3.問號“?”
“?”表示匹配它前面的子表達式0次或者1次。注意,這里的問號是英文問號。
4.數(shù)字“\d”
“\d”在正則表達式里表示一位數(shù)字,“\d”由反斜杠和字母d構(gòu)成的,但是要把“\d”看成一個正則表達式符號整體。
5.小括號“()”
小括號可以把括號里面的內(nèi)容提取出來。
三、Python自帶正則表達式模塊
Python自帶一個非常強大的的正則表達式模塊,名字為“re”,也就是“regular expression”的首字母縮寫。在Python中需要先使用導入的語句:import re 導入這個模塊再進行使用。
1.findall函數(shù)
findall的函數(shù)原型為:re.findall(pattern, string, flags=0)
pattern表示正則表達式,string表示原來的字符串,flags表示一些特殊功能的標志。 這個參數(shù)是可以省略的。當不省略的時候,具有一些輔助功能,例如忽略大小寫、忽略換行符等。
import re text = '牛肉價格:70¥,九節(jié)蝦價格:120¥,西蘭花價格:5¥,馬鮫魚價格:40¥' prices = re.findall('價格:(.*?)¥', text) print('正則表達式返回的價格:{}'.format(prices))
findall返回的結(jié)果是一個列表,包含了所有的匹配到的結(jié)果:
2. search()的函數(shù)原型為:
re.search(pattern, string, flags=0)
用法和findall()的用法一樣,但是search()只會返回第1個滿足要求的字符串。對于從超級大的文本里面只找第1個數(shù)據(jù)特別有用,可以大大提高程序的運行效率。
import re text = '牛肉價格:70¥,九節(jié)蝦價格:120¥,西蘭花價格:5¥,馬鮫魚價格:40¥' prices = re.search('價格:(.*?)¥', text) print('正則表達式返回的價格:{}'.format(prices.group(1)))
對于結(jié)果,如果匹配成功,則是一個正則表達式的對象;如果沒有匹配到任何數(shù)據(jù),就是None。 如果需要得到匹配到的結(jié)果,則需要通過.group()這個方法來獲取里面的值。group()的參數(shù)最大不能超過正則表達式里面括號的個數(shù)。參數(shù)為1表示讀取第1個括號中的內(nèi)容,參數(shù)為2表示讀取第2個括號中的內(nèi)容,以此類推。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Tensorflow 模型轉(zhuǎn)換 .pb convert to .lite實例
今天小編就為大家分享一篇Tensorflow 模型轉(zhuǎn)換 .pb convert to .lite實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02python filecmp.dircmp實現(xiàn)遞歸比對兩個目錄的方法
這篇文章主要介紹了python filecmp.dircmp實現(xiàn)遞歸比對兩個目錄的方法,本文通過實例代碼給大家介紹的非常詳細,大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05PyTorch?之?強大的?hub?模塊和搭建神經(jīng)網(wǎng)絡(luò)進行氣溫預測
hub 模塊是調(diào)用別人訓練好的網(wǎng)絡(luò)架構(gòu)以及訓練好的權(quán)重參數(shù),使得自己的一行代碼就可以解決問題,方便大家進行調(diào)用,這篇文章主要介紹了PyTorch?之?強大的?hub?模塊和搭建神經(jīng)網(wǎng)絡(luò)進行氣溫預測,需要的朋友可以參考下2023-03-03Python中使用實現(xiàn)輸出哈沙德數(shù)的多種方法小結(jié)
哈沙德數(shù)(Harshad?Number),又稱Niven數(shù),是指一個自然數(shù),它可以被它的各位數(shù)字之和整除,本文將探討如何使用多種不同的方法來判斷一個數(shù)字是否是哈沙德數(shù),感興趣的可以了解下2024-01-01windows+vscode穿越跳板機調(diào)試遠程代碼的圖文教程
本文通過圖文并茂的形式給大家介紹了windows+vscode穿越跳板機調(diào)試遠程代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02