regex - 使用正则表达式从 aws s3 url 中提取存储桶名称
问题描述
我想从 AWS s3 URL 中提取存储桶名称。
URL 可以有多种格式。以下是支持的 s3 URL 的正则表达式列表:
[a-z0-9.-]+\.s3\.amazonaws\.com
[a-z0-9.-]+\.s3-[a-z0-9-]+\.amazonaws\.com
[a-z0-9.-]+\.s3\.[a-z0-9-]+\.amazonaws\.com
[a-z0-9.-]+\.s3-website[.-](eu|ap|us|ca|sa|cn)
例子:
bucket-name.s3.us-west-2.amazonaws.com
bucket.name.s3.us-west-2.amazonaws.com
bucket-name.s3-us-west-2.amazonaws.com
bucket.name.s3-us-west-2.amazonaws.com
bucket-name.s3.amazonaws.com
bucket.name.s3.amazonaws.com
我想要一个可以bucket-name
从GoLang
.
解决方案
这会起作用:
^(.+)(?:\.s3[-.].*)$
翻译:
从字符串的开头找到通向
.s3.
or的所有内容,.s3-
并将其捕获到组 #1 中。
您的存储桶名称将位于$1
.
请参阅下面的 regex101 链接并使用代码生成器查看 Golang 示例。
推荐阅读
- json - 如果字段带有特定的键值对,则提取该字段
- php - PHP - 获取在多个索引中具有值的键
- c# - 如何在WinForm中单击按钮的后台启动进程?
- javascript - 如何通过鼠标单击在法国 SVG 地图中显示部门名称?
- java - 最终用户使用 logcat 会看到什么日志?
- c# - 使用 .Net Core 2.1 创建 Azure Key Vault
- c++ - 带有翻译的 Qt Qml 树模型菜单
- python - Discord python将整个聊天导出到.txt文件
- reprojection-error - 使用 st_transform 重新投影 shapefile 的问题
- gulp-watch - GULP:仅重命名受影响的文件