Regex 我想在Python中使用正则表达式匹配两个URL,但下面的代码给出了一个错误。我不明白为什么
当我试图打印url_匹配时,我得到了内存位置Regex 我想在Python中使用正则表达式匹配两个URL,但下面的代码给出了一个错误。我不明白为什么,regex,python-2.7,Regex,Python 2.7,当我试图打印url_匹配时,我得到了内存位置 input = 'susaya https://sousfs@sls.sus.uk/de/sekd/sho/project1/first_project' url_match = re.match("\s*susaya\s+([^ ]+)", input) 打印url\u匹配 没有一个 正则表达式(“\s*susaya\s+([^]+)”的输出是什么 当我试图打印时,因为url\u匹配不匹配,我得到了None 我正在使用python2.7。谢谢
input = 'susaya https://sousfs@sls.sus.uk/de/sekd/sho/project1/first_project'
url_match = re.match("\s*susaya\s+([^ ]+)", input)
打印url\u匹配
没有一个
(“\s*susaya\s+([^]+)
”的输出是什么None
我正在使用python2.7。谢谢。
re.match
不返回字符串,它返回一个匹配对象。在match对象上调用group(I)
将返回第I个捕获组,第0个捕获组是整个匹配
print url_match
None
<_sre.SRE_Match object at 0x5f630cs48e40>
模式
“\s*susaya\s+([^]+)”
匹配零个或多个空格,后跟“susaya”",后跟一个或多个空格,后跟一个或多个非空格字符的捕获组。第一行不是有效的Python。您的意思是input='susayahttps://sousfs@sls.sus.uk/de/sekd/sho/project1/first_project'
?这不是一个错误,这是一个匹配的对象。是的!我编辑过。谢谢。尽管是最佳公关,但还是投票通过了做法是对正则表达式使用r“raw string”
。这是真的-我刚刚复制了问题的代码。修复了。感谢您指出这一点。有人能帮我解决我的问题1吗?这将大大有助于调试问题。谢谢。添加了对正则表达式模式的解释。
>>> input = "susaya https://sousfs@sls.sus.uk/de/sekd/sho/project1/first_project"
>>> url_match = re.match(r"\s*susaya\s+([^ ]+)", input)
>>> url_match.group(0)
'susaya https://sousfs@sls.sus.uk/de/sekd/sho/project1/first_project'