python - 为什么我的 python 正则表达式模式不匹配整个字符串?
问题描述
我希望将 url 字符串与我的正则表达式模式匹配:r'.+'
。我希望这种模式能够完全匹配 url 字符串,但这并没有发生。我得到以下输出:
输出:
url string: https://stackoverflow.com/users/signup?ssrc=head&returnurl=%2fusers%2fstory%2fcurrent
matched string: <re.Match object; span=(0, 85), match='https://stackoverflow.com/users/signup?ssrc=head&>
显然,匹配到最后会留下一大块 url 字符串。returnurl=%2fusers%2fstory%2fcurrent
我的模式与 url 字符串的部分不匹配。为什么会这样?我应该使用其他东西而不是r'.+'
我的模式吗?
代码:
def getQueryParameters(url):
print(f"url string: {url}")
pattern = re.compile(r'.+')
match = pattern.search(url)
print(f'matched string: {match}')
if __name__ == '__main__':
url = "https://stackoverflow.com/users/signup?ssrc=head&returnurl=%2fusers%2fstory%2fcurrent"
getQueryParameters(url)
解决方案
打印匹配对象本身不会显示整个匹配。如果您打印match.group(0)
而不是match
,您将看到您的正则表达式与整个字符串匹配。
推荐阅读
- javascript - 动态标题仅适用于 index.html
- mongodb - 自从切换到新的 go mongo 驱动程序后,map[string]interface{} 没有被正确解析
- vue.js - 如何根据从 vue-router 收到的参数渲染内容?
- c# - 通过 IP 地址与 C# 聊天程序。连接不同网络中的两台计算机
- python - 如何从 GitPython 中的 repo 获取目录 git 详细信息?
- mongodb - 如何让 Unity3D 2018(或更高版本)与 MongoDB C# 驱动程序一起使用?
- python - 在整合一组数据时,发生轴错误。这个错误的原因和解决方法是什么?
- java - 下载文件并保存到光盘不起作用
- octave - 有没有办法使用 TeX(希腊字母、下标、上标等)使 octave 解释 uicontrol 静态文本中的字符串?
- c# - ASP .Net Core 空数组查询参数绑定异常