用正则表达式替换值的 re 模块是什么?

Whats the re module for replacing values with reggex?

好的,所以我正在寻找一个问题的 2 个答案。我需要一个正则表达式,我需要一个正则表达式模块。 首先是模块,它是用其他值替换某些值(由正则表达式捕获)的模块。 就像我的输入是

a=b
a=b&c=d
a=b&c=d&e=f

我应该用一些值替换 b、d、f。 其次,给定输入的正则表达式是什么

a=b
a=b&c=d
a=b&c=d&e=f

这是输入,我想不出任何数学 b、d、f 和其他值的正则表达式,如果?我需要一个正则表达式来用单个值替换 b、d、f。如果 'HI'

可以说单个值

编辑:输入实际上是一个 URL 参数,我使用了 urlparse 然后 urlparsed_data.query 编辑:输入也可以包含 [] 。喜欢a[]=b

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')]

假设您要将值 bdf 替换为单个值 HI,请尝试:

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