AWS 上 Redis 身份验证令牌的正则表达式

RegExp for Redis Auth Token on AWS

正在寻找正则表达式以在具有以下规则的 cloudformation 脚本中使用:

上面试过了,但是JSON好像不接受。我认为 \ 存在一些问题,因为这个 "AllowedPattern": "[0-9a-zA-Z].{16,128}$", 似乎有效。有帮助吗?

您应该删除量词前的 .,否则您将使用您想要允许的字符来量化点而不是字符 class。

此外,在开头添加 ^ 以确保完全应用长度限制。

此外,如果您以特殊方式编写字符范围,则可以避免转义样式的问题。你可以把模式写成

"^[0-9a-zA-Z#-.:-?\[-_{-~]{16,128}$"

它将匹配仅包含

的16到128个字符的字符串
  • 0-9 - 位数
  • a-zA-Z - ASCII 字母
  • #-. - #, $, %, &, ', (, )*+,-.
  • :-? - :, ;, <, =, >, ?
  • \[-_ - \, ], ^, _
  • {-~ - {|}~

参见regex demo