小编Mik*_*ike的帖子

在python中使用正则表达式从文件名中获取剧集编号

多年来,我在媒体服务器上收集了大量电视剧。我编写了一个脚本来检查并使用适当的文件名方案重命名它们,但是在尝试针对多个命名方案时,我在使用正则表达式时遇到了一些麻烦。

这是我当前的功能,它可以很好地从具有“s01e01”方案的文件名中获取剧集编号

def getEpisode(filename):
    matches = re.findall(r"e[0-9][0-9]", filename)
    if len(matches) == 1:
        episode = matches[0]
        episode = stripEp(episode)
        return episode  
    else:
        return False

def stripEp(target):
    target = target.strip()
    target = target.strip('abcdefghijklmnopqrstuvwxyz.')
    return target
Run Code Online (Sandbox Code Playgroud)

我需要做的是在使用多个方案时从文件名中获取剧集编号。我花了一段时间谷歌搜索并尝试了以下内容。

matches = re.findall(r"(e[0-9][0-9]|E[0-9][0-9]|x[0-9][0-9]|X[0-9][0-9]|episode [0-9][0-9]|Episode [0-9][0-9]|\n[0-9][0-9])", filename)
Run Code Online (Sandbox Code Playgroud)

这适用于正则表达式测试器,例如RegexPal和 Python Regex Tool

但是,当我将其插入我的函数时,它不起作用。这让我很难过,因为它似乎在我上面链接的 python 正则表达式工具中工作。任何帮助将不胜感激。

编辑:以下是文件使用的方案的一些示例。

Series Name s01e01.avi

Series Name 1x01.avi

Series Name episode 01.avi

01 Episode Title.avi
Run Code Online (Sandbox Code Playgroud)

python regex

4
推荐指数
1
解决办法
4480
查看次数

尝试删除卡时Stripe API抛出错误

我正在尝试使用ruby库从Stripe中删除一张卡但是我遇到了以下错误.

undefined method `delete' for Stripe::Customer:Class
Run Code Online (Sandbox Code Playgroud)

这是我的代码中导致错误的行

customer = Stripe::Customer.delete(@user.stripe_id)
Run Code Online (Sandbox Code Playgroud)

Customer类似乎没有删除方法,但文档说有.

以下是Stripe文档中有关删除卡片的部分. https://stripe.com/docs/api/ruby#delete_card

正如您所看到的,我的代码与客户ID来自的文档中的行相同.

另外,我确实注意到文档中的错误,

customer = Stripe::Customer.delete({CARD_ID})
Run Code Online (Sandbox Code Playgroud)

应该,

customer = Stripe::Customer.delete({CUSTOMER_ID})
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用卡ID以确保它会产生相同的错误.

如果有人有任何想法,他们将不胜感激.

编辑:我一直在使用条带直到这一点与其他方法,如Stripe::Customer.retrieve()工作得很好.

编辑2:我正在使用宝石版1.8.4,这似乎是最新版本.

ruby payment-gateway stripe-payments

2
推荐指数
1
解决办法
2137
查看次数

标签 统计

payment-gateway ×1

python ×1

regex ×1

ruby ×1

stripe-payments ×1