我有一个数组中的链接列表,例如
results = [link1/1254245,
'q%(random part)cache:link2/1254245& (random part) Dclnk',
'link3/1254245]
而link = http://www.whatever.com
。
我想要用“q%3(random part)cache
”和“&(random part)Dclnk
替换”,以便"清理" link2
是" cut"在另一个之间离开并且#34;清洁"链接。随机部分总是在内容和长度上变化。 q%3 :
和& Dclnk
保持不变。
我该怎么做?到目前为止,我无法找到答案。
答案 0 :(得分:0)
您可以通过re.sub
和列表理解来实现这一目标。
>>> l = ['link1/1254245', 'q%(random part)cache:link2/1254245& (random part) Dclnk', 'link3/1254245']
>>> [re.sub(r'q%[^(]*\([^()]*\)cache:|&\s*\([^()]*\)\s*Dclnk', r'', i) for i in l]
['link1/1254245', 'link2/1254245', 'link3/1254245']
[^()]*
匹配任何字符,但不匹配(
或)
零次或多次。指定|
更改运算符以使用多种模式。