适用于AWS的Redis Auth令牌的RegExp

时间:2017-11-24 09:51:32

标签: regex amazon-web-services redis amazon-cloudformation

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

  • 必须只能是可打印的ASCII字符。
  • 长度必须至少为16个字符且不超过128个字符。
  • 不能包含以下任何字符:' /','"',或' @'。

    "AllowedPattern": "[0-9a-zA-Z\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\[\\\]\^\_\{\|\}\~].{16,128}$",

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

1 个答案:

答案 0 :(得分:1)

您应该在量词之前移除.,否则您将量化点而不是带有您想要允许的字符的字符类。

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

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

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

它将匹配16到128个仅包含

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

请参阅regex demo