我正在使用 python 2。我需要替換字串中的兩個部分。例如像下面這樣
str1 = "product,price=(decimals=4, value=7.505),quantity"
str2 = "product,(subporduct,(price=(decimals=4, value=7.05)),quantity"
str3 = "product,(subporduct,item=2, price=(decimals=4, value=7.05)),quantity"
我需要輸出是這樣的,即價格等于浮點數
- 產品,價格=7.505,數量
- 產品,(子產品,(價格=7.05),數量
- 產品,(子產品,item=2, price=7.05 ),數量
我試過了,但它留下了最后一個括號,否則對我來說已經足夠了。
print(re.sub("(?<=price=). ?(?<=value=)", "", str1))
我需要python 2中的解決方案
uj5u.com熱心網友回復:
您可以使用
re.sub(r'(price=)\([^()]*?value=([\d.] )\)', r'\1\2', str1)
請參閱正則運算式演示。詳情:
(price=)- 組 1 (\1):price=子字串\(- 一個(字符[^()]*?- 零個或多個字符(,)盡可能少value=- 文字子串([\d.] )- 第 2 組 (\2):一個或多個數字或.字符\)- 一個)字符。
替換是第 1 組和第 2 組值的串聯。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/444973.html
下一篇:替換熊貓中的反引號
