我想用regex操作解析出URL的一部分。这可能是个老问题。但我对regex还是个新手,为了我的需求搜索了很多东西,却没有找到。我知道ParseURL可以在这里使用。但我的网址结构不合适。假设我的网址如下所示
url = https://www.sitename.com/&q=To+Be+Parsed+out&oq=Dont+Need+to+be+parsed
在这里,我想知道&q=何时发生,并解析到下一个发生。我想删除+或任何特殊字符在中间。输出应该是
^{pr2}$另外,如果没有匹配项,则应返回原始URL。在
我试过以下方法
re.search('q=?([^&]+)&',url).group(0)
这就回来了
&q=To+Be+Parsed+out&oq=Dont+Need+to+be+parsed
有谁能帮我分析一下吗。谢谢
您可以使用
re.search()
获得所需的子字符串,然后将所有+
替换为str.replace()
的空格:re.search(r'/&q=([^&]*)', url).group(1)
得到所需的部分,replace('+', ' ')
执行重排示例:
^{pr2}$如果没有匹配项,则捕获由
re.search.group()
引发的AttributeError
异常,例如:相关问题 更多 >
编程相关推荐