python正則表達式替換數(shù)據(jù)應(yīng)用實例代碼
前言
正則表達式是一種強大的文本處理工具,它使用一種特殊的字符串模式來描述、匹配和查找一系列符合某個句法規(guī)則的字符串。在Python中,我們可以通過re模塊來操作正則表達式。
一、基本語法
注:這是常用的表達式
在正則表達式中有特定的含義,例如:
- .:匹配除換行符以外的任意字符。
- *:匹配前面的子表達式零次或多次。
- +:匹配前面的子表達式一次或多次。
- ?:匹配前面的子表達式零次或一次。
- |:表示“或”操作,匹配兩個或多個分支。
- ():用于分組,可以捕獲匹配的內(nèi)容。
python中re方法,例如:
- re.match或re.search返回匹配對象
- group()方法是用于從一個匹配的對象中提取匹配的字符串
- group(0)或group()返回整個匹配的字符串。
- group(n)返回第n個括號組匹配的字符串,括號組是通過在正則表達式中使用括號()創(chuàng)建的。n=1是第一個括號組,n=2是第二個括號組,以此類推。
二、正則替換數(shù)據(jù)應(yīng)用
1.代碼
代碼如下(示例):
import re
class Rtea():
#定義類屬性
id = 123
name ="nihao"
##id#數(shù)據(jù)中要替換的標識
s = '{"id":"#id#","name":"#name#"}'
#返回匹配對象
res = re.search('#(.+?)#',s)
print(res)
itm = res.group()
print("被替換的內(nèi)容",itm)
att = res.group(1)
print("被替換的屬性名",att)
value = getattr(Rtea,att)
print("獲取出來的類屬性值",value)
#替換
s = s.replace(itm,str(value))
print(s)
執(zhí)行結(jié)果

2.擴展-多個參數(shù)替換
import re
class Rtea():
id = 123
name ="nihao"
s = '{"id":"#id#","name":"name","name":"#name#"}'
while re.search('#(.+?)#',s):
res = re.search('#(.+?)#', s)
print(res)
itm = res.group()
print("被替換的內(nèi)容",itm)
att = res.group(1)
print("被替換的屬性名",att)
value = getattr(Rtea,att)
print("獲取出來的類屬性值",value)
#替換
s = s.replace(itm,str(value))
print(s)
執(zhí)行結(jié)果

總結(jié)
這種方法可以替換用例里的變動數(shù)據(jù),可以封裝成方法。
到此這篇關(guān)于python正則表達式替換數(shù)據(jù)應(yīng)用的文章就介紹到這了,更多相關(guān)python正則替換數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python操作Sonqube API獲取檢測結(jié)果并打印過程解析
這篇文章主要介紹了Python操作Sonqube API獲取檢測結(jié)果并打印過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-11-11
Python Django切換MySQL數(shù)據(jù)庫實例詳解
這篇文章主要介紹了Python Django切換MySQL數(shù)據(jù)庫實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07
Python常用字符串替換函數(shù)strip、replace及sub用法示例
這篇文章主要介紹了Python常用字符串替換函數(shù)strip、replace及sub用法,結(jié)合實例形式分析了Python針對字符串替換的常用函數(shù)strip、replace及sub功能及簡單使用技巧,需要的朋友可以參考下2018-05-05

