我有一个s3对象,格式如下。
https://s3-{region}.amazonaws.com/{bucket}/{environment}/{keyname}
我需要一个正则表达式,可以从s3链接中获取各个变量。目前我有以下正则表达式。
r"https\:\/\/s3\-(\w+)\.amazonaws\.com\/(\w+)\/(\w+)\/(\w+)$"
但它返回None。
答案 0 :(得分:1)
你可以去:
https?://s3-
(?P<region>[^.]+).amazonaws.com/
(?P<bucket>[^/]+)/
(?P<environment>[^/]+)/
(?P<keyname>.*)
<小时/>
在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)