正则表达式匹配s3链接

时间:2017-03-27 10:11:47

标签: python regex amazon-s3

我有一个s3对象,格式如下。

https://s3-{region}.amazonaws.com/{bucket}/{environment}/{keyname}

我需要一个正则表达式,可以从s3链接中获取各个变量。目前我有以下正则表达式。

r"https\:\/\/s3\-(\w+)\.amazonaws\.com\/(\w+)\/(\w+)\/(\w+)$"

但它返回None。

1 个答案:

答案 0 :(得分:1)

你可以去:

https?://s3-
(?P<region>[^.]+).amazonaws.com/
(?P<bucket>[^/]+)/
(?P<environment>[^/]+)/
(?P<keyname>.*)

a demo on regex101.com

<小时/> 在Python中,这将是:

import re

rx = re.compile(r'''
    https?://s3-
    (?P<region>[^.]+).amazonaws.com/
    (?P<bucket>[^/]+)/
    (?P<environment>[^/]+)/
    (?P<keyname>.*)''', re.VERBOSE)

links = rx.findall(your_string_here)