好的,所以我在一個問題中尋找 2 個答案。我需要一個正則表達式,我需要一個正則表達式模塊。首先是模塊,它是用其他值替換某些值(由正則表達式捕獲)的模塊。就像我的輸入是a=ba=b&c=da=b&c=d&e=f我應該用一些值替換 b,d,f。其次,給定輸入的正則表達式是什么a=ba=b&c=da=b&c=d&e=f這是輸入,我想不出任何數(shù)學 b、d、f 和其他值的正則表達式,如果?我需要一個正則表達式來用單個值替換 b、d、f。讓我們說如果'HI'是單一的價值編輯:輸入實際上是一個 URL 參數(shù),我使用了 urlparse 然后是 urlparsed_data.query 編輯:輸入[]也可以包含。喜歡a[]=b
2 回答

楊__羊羊
TA貢獻1943條經(jīng)驗 獲得超7個贊
line = 'a=b&c=d&e=f' re.findall(r'(\w+)=(\w+)', line)
輸出
[('a', 'b'), ('c', 'd'), ('e', 'f')]
您將獲得足夠的信息來繼續(xù)。
line = 'a[]=b&c=d' re.findall(r'([^&]+)=([^&]+)', line)
輸出 [('a[]', 'b'), ('c', 'd')]

尚方寶劍之說
TA貢獻1788條經(jīng)驗 獲得超4個贊
b假設您想用單個值d替換值,請嘗試:fHI
import re
list1 = ['a=b', 'a=b&c=d', 'a[]=b&c=d&e=f', 'wrongurl']
for line in list1:
if (re.match(r'([][\w]+=[^&=]+&)*[][\w]+=[^&=]+', line)):
print(re.sub(r'=\w+', '=HI', line))
else:
print('Error: ' + line)
輸出:
a=HI
a=HI&c=HI
a[]=HI&c=HI&e=HI
Error: wrongurl
添加回答
舉報
0/150
提交
取消