在python中查找带正则表达式的字符串

Sam*_*ari 4 python regex

我是python中的新手,我正在尝试在python的另一个字符串中剪切一段字符串.我看了其他类似的问题,但我找不到答案.

我有一个变量,其中包含域列表,域名如下所示:

http://92.230.38.21/ios/Channel767/Hotbird.mp3 http://92.230.38.21/ios/Channel9798/Coldbird.mp3

....

我想要mp3文件名(在这个例子中Hotbird,Coldbird等)

我知道我必须能够使用re.findall()来完成它,但我不知道我需要使用的正则表达式.

任何的想法?

更新:这是我使用的部分:

    for final in match2:
         netname=re.findall('\W+\//\W+\/\W+\/\W+\/\W+', final)
         print final
         print netname
Run Code Online (Sandbox Code Playgroud)

哪个没用.然后我尝试这样做只削减IP地址(92.230.28.21)而不是名称:

    for final in match2:
         netname=re.findall('\d+\.\d+\.\d+\.\d+', final)
         print final
Run Code Online (Sandbox Code Playgroud)

ale*_*cxe 5

你可以使用str.split():

>>> urls = ["http://92.230.38.21/ios/Channel767/Hotbird.mp3", "http://92.230.38.21/ios/Channel9798/Coldbird.mp3"]
>>> for url in urls:
...     print(url.split("/")[-1].split(".")[0])
... 
Hotbird
Coldbird
Run Code Online (Sandbox Code Playgroud)

这是一个基于正则表达式的示例:

>>> import re
>>>
>>> pattern = re.compile(r"/(\w+)\.mp3$")
>>> for url in urls:
...     print(pattern.search(url).group(1))
... 
Hotbird
Coldbird
Run Code Online (Sandbox Code Playgroud)

我们在哪里使用捕获组(\w+)捕获mp3文件名,该文件名包含一个或多个aplhanumeric字符,后跟一个点,mp3位于url的末尾.