Skip to main content
 首页 » 编程设计

python之基于 url 的正则表达式前瞻

2025年05月04日26yyy_WW

我将如何在正则表达式中执行以下操作?

>>> s=u'https://cdn-a.sonyentertainmentnetwork.com/grc/images/ratings/hd/eirin/R-18.png' 
>>> s.split('/')[-1].split('.png')[0].replace('_','-').upper() 
'R-18' 

应该是获取最后一个/和png之间的item。以下(我目前拥有的)太贪心了——

re.search('/(.+)\.png',s).group() 

请您参考如下方法:

为什么不为此使用 urllib 和 os.path?

from urllib.parse import urlparse 
s=u'https://cdn-a.sonyentertainmentnetwork.com/grc/images/ratings/hd/eirin/R-18.png' 
a=urlparse(s) 
import os 
p=a.path                        # /grc/images/ratings/hd/eirin/R-18.png 
bn=os.path.basename(p)          # R-18.png 
print(os.path.splitext(bn)[0])  # R-18 

对于 python2,将第一个导入替换为 from six.moves.urllib.parse import urlparse