首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python findall即使在假定正确的匹配上也不会返回结果

Python findall即使在假定正确的匹配上也不会返回结果
EN

Stack Overflow用户
提问于 2021-02-28 09:02:07
回答 1查看 39关注 0票数 0

我试图从用户提供的输入中过滤掉链接。然而,目前我在使用Python的findall时遇到了麻烦,因为它没有返回任何结果。

正则表达式本身可能有错误,因为这不是我实际代码的一部分,我在另一篇文章中复制了它,但我试图用我目前对正则表达式的理解来检查它,没有看到明显的问题。

以下是我正在尝试过滤的示例链接:

https://ncs.io/symbolismhttps://soundcloud.com/nocopyrightsounds/electro-light-symbolism-ncs-releasehttps://www.youtube.com/watch?v=__CRWE-L45khttps://www.deezer.com/track/93333734?app_id=140685https://open.spotify.com/album/1BxVIZuG2N1ReBB0T5nVTr?highlight=spotify:track:2zVJlAEB0ublkqJMIn43AE

为了得到结果,我使用了一个简单的函数,它应该直接返回结果:

代码语言:javascript
复制
def get_urls():
    # Gets urls from the provided string
    urls = input("Stream urls: ")
    urls = findall(r'(https?://[^\s]+)', urls)
    return urls

然后我将其恰当地命名为:

代码语言:javascript
复制
if __name__ == '__main__':
    print(get_urls())

我只从re导入findall,因为这是我唯一使用的部分:

代码语言:javascript
复制
from re import findall

在这个小代码中并没有太多东西可以破坏,我自己也非常困惑于哪里搞砸了。如果你发现我错了,请帮帮我!感谢你在这方面的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-28 09:22:25

对我来说很管用

代码语言:javascript
复制
from re import findall

def get_urls():
    # Gets urls from the provided string
    urls = input("Stream urls: ")
    urls = findall(r'(https?://[^\s,]+)', urls)
    return urls

if __name__ == '__main__':
    print(get_urls())
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66404962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档