在python脚本中搜索并替换字符串中的多个模式

2024-04-16 22:28:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个执行以下操作的python脚本:

  1. 提示用户输入字符串
  2. 'hxxps://''u='的所有字符
  3. 替换'hxxp-3A__' with 'http://'
  4. 将所有'_'替换为'/'
  5. 删除从'&d='到字符串结尾的所有字符(包括&d)

提示用户输入要解码的字符串示例:

<b>hxxps://emailfiltervendor.com/v2/url?u=</b>hxxp-3A__developer.apple.com_contact<b>_&d=AAMC-Q&c=zQ6tLaF7dShu6emFdFLQLQ&r=Omg3VPeUzekjh8aAoyWWiIblQyDVxual9qHMwJiqOpQ&m=MtC66x1fgSnrN9foA74EcYf6Ekmp0vmUDRLTGVtTQcU&s=xHGspXPb32hmzbF1rkJ2jWRvS011WqvwsU1LSM4zQdU&e=</b>

输出应该是什么样子:

^{pr2}$

我尝试了以下脚本的各种组合,但似乎无法搜索/替换超过1个字符串(http-3a_uuxforhttp://)。我上次尝试的脚本包括以下内容:

^{3}$

请帮忙!!!在


Tags: 字符串用户脚本comhttpurl示例with
3条回答

你可以做一些事情

>>> val=re.sub(r'hxxps.*u=hxxp-3A__([^&]+).*', r'hxxp://\1', str)
>>> re.sub(r'_', '/', val)
'hxxp://developer.apple.com/contact/'

可以使用replace这是语法:

string.replace(str ,old, new[, max])

所以对你来说

^{pr2}$

关于第一个使用Apple URL的示例,以下代码起作用:

#!/usr/bin/env python

import re

string = "hxxp-3A__developer.apple.com_contact_&d=AAMC-Q&c=zQ6tLaF7dShu6emFdFLQLQ&r=Omg3VPeUzekjh8aAoyWWiIblQyDVxual9qHMwJiqOpQ&m=MtC66x1fgSnrN9foA74EcYf6Ekmp0vmUDRLTGVtTQcU&s=xHGspXPb32hmzbF1rkJ2jWRvS011WqvwsU1LSM4zQdU&e="

string = string.replace('hxxps://',"u=")
string = string.replace('hxxp-3A__','http://')
string = string.replace('_','/')
string = re.sub(r'&d=[\s\S]*','',string)

print string

相关问题 更多 >