Python findall 没有 return 结果,即使是假定的正确匹配
Python findall doesn't return results even on a supposed proper match
我试图从用户提供的输入中过滤掉链接。然而,目前我在使用 Python 的 findall 时遇到了问题,因为它没有 return 任何结果。
正则表达式本身可能有错误,因为那不是我实际代码的一部分,我将其复制到另一个 post 但我尝试用我目前对正则表达式的理解来检查它,但没有'看到一个明显的问题。
这些是我要过滤的示例链接:
https://ncs.io/symbolism, https://soundcloud.com/nocopyrightsounds/electro-light-symbolism-ncs-release, https://www.youtube.com/watch?v=__CRWE-L45k, https://www.deezer.com/track/93333734?app_id=140685, https://open.spotify.com/album/1BxVIZuG2N1ReBB0T5nVTr?highlight=spotify:track:2zVJlAEB0ublkqJMIn43AE
为了得到结果,我使用了一个简单的函数,它应该直接 return 结果:
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())
我只从 re 导入 findall,因为这是我唯一使用的部分:
from re import findall
在这个小代码中并没有太多可以破坏的地方,我自己也非常困惑我搞砸了。如果你看到我的错误,请帮助我!感谢您对此的任何帮助!
对我有用
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())
我试图从用户提供的输入中过滤掉链接。然而,目前我在使用 Python 的 findall 时遇到了问题,因为它没有 return 任何结果。
正则表达式本身可能有错误,因为那不是我实际代码的一部分,我将其复制到另一个 post 但我尝试用我目前对正则表达式的理解来检查它,但没有'看到一个明显的问题。
这些是我要过滤的示例链接:
https://ncs.io/symbolism, https://soundcloud.com/nocopyrightsounds/electro-light-symbolism-ncs-release, https://www.youtube.com/watch?v=__CRWE-L45k, https://www.deezer.com/track/93333734?app_id=140685, https://open.spotify.com/album/1BxVIZuG2N1ReBB0T5nVTr?highlight=spotify:track:2zVJlAEB0ublkqJMIn43AE
为了得到结果,我使用了一个简单的函数,它应该直接 return 结果:
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())
我只从 re 导入 findall,因为这是我唯一使用的部分:
from re import findall
在这个小代码中并没有太多可以破坏的地方,我自己也非常困惑我搞砸了。如果你看到我的错误,请帮助我!感谢您对此的任何帮助!
对我有用
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())