我想将这样的字符串"css/login.css"
替换为"***css/login.css***"
,整个字符串如下:
str1 = '<meta name="viewport" content="width=device-width,
initial-scale=1.0,maximum-scale=1.0,user-scalable=0">\
<link rel = "stylesheet" type = "text/css" href = "css/login.css"/>\
<script type="text/javascript" src="js/jquery.js"></script>\
<script type="text/javascript" src="js/login.js"></script>\
<script type="text/javascript" src="js/authLogin.js"></script>\
</head>'
这是我的密码:
pattern1 = r'.*?href.*?=.*?(".+?\.css").*?'
re.sub(pattern1,r"***\1***",str1)
输出为:
'***"css/login.css"***/>\t<script type="text/javascript"src="js/jquery.js">
</script>\t<script type="text/javascript" src="js/login.js">
</script>\t<script type="text/javascript" src="js/authLogin.js">
</script></head>'
为什么它不输出"css/login.css"/>
之前的字符串,即'<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0">\<link rel = "stylesheet" type = "text/css" href =
?你知道吗
希望有人能帮忙,谢谢!你知道吗
在manual函数中回复sub具体描述如下:
在正则表达式中,第一个
.*
与字符串中href
之前的所有内容匹配。那么字符串中"css/login.css"
之前的所有内容都是您用正则表达式指定的模式的一部分。 然后将其替换为***"css/login.css"**
。你知道吗如果要在输出中复制第一个捕获组之前的部分,则还需要为此创建一个捕获组。类似地,对于后面的部分,您可以创建一个捕获组(但是删除lazy
?
)如果输入字符串中有换行符,则还应使用
re.DOTALL
标志,以便这些换行符与.*
匹配:相关问题 更多 >
编程相关推荐