好的,所以我在一个问题中寻找 2 个答案。我需要一个正则表达式,我需要一个正则表达式模块。首先是模块,它是用其他值替换某些值(由正则表达式捕获)的模块。就像我的输入是a=ba=b&c=da=b&c=d&e=f我应该用一些值替换 b,d,f。其次,给定输入的正则表达式是什么a=ba=b&c=da=b&c=d&e=f这是输入,我想不出任何数学 b、d、f 和其他值的正则表达式,如果?我需要一个正则表达式来用单个值替换 b、d、f。让我们说如果'HI'是单一的价值编辑:输入实际上是一个 URL 参数,我使用了 urlparse 然后是 urlparsed_data.query 编辑:输入[]也可以包含。喜欢a[]=b
2 回答
杨__羊羊
TA贡献1943条经验 获得超7个赞
line = 'a=b&c=d&e=f' re.findall(r'(\w+)=(\w+)', line)
输出
[('a', 'b'), ('c', 'd'), ('e', 'f')]
您将获得足够的信息来继续。
line = 'a[]=b&c=d' re.findall(r'([^&]+)=([^&]+)', line)
输出 [('a[]', 'b'), ('c', 'd')]
尚方宝剑之说
TA贡献1788条经验 获得超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
提交
取消