python - 匹配 s3 链接的正则表达式

标签 python regex amazon-s3

我有一个以下格式的 s3 对象。

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

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

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

但它返回 None。

最佳答案

你可以去:

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)

关于python - 匹配 s3 链接的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43043625/

相关文章:

javascript - React-Native 不支持正则表达式?

java - 使用正则表达式将字符串拆分为句子

php - 相当于 glob() ,它可以使用数组而不是文件系统

java - 为什么我收到错误 ClassNotFoundException : com. amazonaws.auth.AWSCredentialsProvider?

python - 递归迭代列表

python - 使用 Python 从 aspx 页面下载 .xls 文件

javascript - 正则表达式非捕获组 - 没用?

python - 如何在 Falcon python 中使用查询字符串

python - 附加数据后列表返回空

ruby-on-rails - 如何在 ruby​​ on rails 中使用 aws-s3 或 aws-sdk gem 跨存储桶复制文件