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

好的,所以我在一个问题中寻找 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


月关宝盒
浏览 83回答 2
2回答

杨__羊羊

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

尚方宝剑之说

b假设您想用单个值d替换值,请尝试:fHIimport relist1 = ['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=HIa=HI&c=HIa[]=HI&c=HI&e=HIError: wrongurl
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python