【问题标题】:CloudFormation: What is a RegEx to match S3 bucket names that do not have periods (dots)CloudFormation:什么是正则表达式来匹配没有句点(点)的 S3 存储桶名称
【发布时间】:2023-03-18 21:25:02
【问题描述】:

对于允许最终用户输入包含句点(点)的 S3 存储桶名称的 CloudFormation 模板,可以在 @ 中使用的正则表达式模式是什么? 987654321@?

(注意:此问题的search 不会返回匹配良好的答案。)

【问题讨论】:

  • 您在回答问题上的努力是显而易见的,但在形成问题时却并非如此。应详细说明要求和失败的尝试。

标签: java regex amazon-s3 amazon-cloudformation


【解决方案1】:

这是我创建的适合我的模式:

(?=^.{3,63}$)(^[a-z0-9]+[a-z0-9\-]+[a-z0-9]+$)

本质上,它的作用是:

  1. 向前看以确保长度在 3 到 63 个字符(含)之间。
  2. 至少以 1 个小写字母或数字开头。
  3. 包含 1 个或多个小写字母、数字连字符。
  4. 以至少 1 个小写字母或数字结尾。

并且当你将它输入到 CloudFormation 模板中时,记得转义反斜杠:

(?=^.{3,63}$)(^[a-z0-9]+[a-z0-9\\-]+[a-z0-9]+$)

您还可以使用有用的RegEx101.com 站点对其进行测试并查看其组件。

【讨论】:

  • 这等于^[a-z0-9]+[a-z0-9-]{1,61}[a-z0-9]+$
  • 您需要删除+ 以禁止重复开始和结束表达式,如下所示:^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-09
  • 2019-05-31
  • 2022-01-13
相关资源
最近更新 更多