例如,我尝试使用re.sub()创建一个正则表达式,它可以替换字符串中的URL。
tool(id='merge_tool', server='http://localhost:8080')
我创建了一个正则表达式,它返回一个字符串,如下所示。
a = "https:192.168.1.1:8080"
re.sub(r'http\S+', a, "tool(id='merge_tool', server='http://localhost:8080')")
结果:
"tool(id='merge_tool', server='https:192.168.1.1"
或者,如果我提供此URL:
b = 'https:facebook.com'
re.sub(r'http\S+', b, "tool(id='merge_tool', server='http://localhost:8080')")
结果:
"tool(id='merge_tool', server='https:facebook.com"
如何解决这个问题,使它可以返回整个字符串后,取代网址?
1条答案
按热度按时间xe55xuns1#
您可以使用
请注意
http[^\s']+
将匹配http
,然后匹配除空格和单引号以外的任何一个或多个字符b.replace('\\', '\\\\')
对于替换文本字符串是动态的情况是必须的,并且其中的所有反斜杠必须加倍才能按预期工作。