使用正則表達式替換字典數據 ${memberID} 對應的正則表達式 '\$\{.*\}'解釋:\$ 轉義替換字元串中 $ \{ 轉義替換字元串中 { . 除了\n中的任意單個自符 * 匹配*前面的字元零次或者多次 \} 轉義替換字元串中 } dict = {"memberId":"${member ...
使用正則表達式替換字典數據
${memberID} 對應的正則表達式 '\$\{.*\}'
解釋:\$ 轉義替換字元串中 $
\{ 轉義替換字元串中 {
. 除了\n中的任意單個自符
* 匹配*前面的字元零次或者多次
\} 轉義替換字元串中 }
dict = {"memberId":"${memberID}","password":"123456","loanId":"${loanId}","amount":"-100"}
data = {"memberId":10001, "loanId":1}
for param in dict:
value = dict[param]
if param in data.keys():
s = str(data[param])
newValue = re.sub('\$\{.*\}', s, value)
dict[param] = newValue
print(dict)
擴展:
正則表達式常用規則
^ 匹配字元串的開頭,指定字元串必須以什麼開頭
$ 匹配字元串結尾,指定字元串以$前的字元結尾
+ 匹配前面的字元1次或者多次 >= 1
{m} 指定匹配字元的次數
? 匹配前面字元0次或者1次
python中通過re模塊來處理正則表達式。re模塊的常用方法如下:
re.match(re規則,字元串,修飾符):從頭開始匹配。從字元串的第一個字元開始匹配,如果第一個字元不匹配規則,那麼匹配失敗。
re.search(re規則,字元串,修飾符):匹配包含。不要求從字元串的第一個字元就匹配。只要字元串當中有匹配該規則的,則就匹配成功。
re.findall(re規則,字元串, 修飾符):把所有匹配的字元放在列表中並返回。
re.sub(re規則,替換串,被替換串,替換次數,修飾符):匹配字元並替換。