寻找在以下规则的cloudformation脚本中使用的正则表达式:
不能包含以下任何字符:' /','"',或' @'。
"AllowedPattern": "[0-9a-zA-Z\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\[\\\]\^\_\{\|\}\~].{16,128}$",
上面尝试但是JSON似乎不接受它。我认为\
存在一些问题,因为此"AllowedPattern": "[0-9a-zA-Z].{16,128}$",
似乎有效。有什么帮助吗?
答案 0 :(得分:1)
您应该在量词之前移除.
,否则您将量化点而不是带有您想要允许的字符的字符类。
此外,在开头添加^
以确保完全应用长度限制。
此外,如果以特殊方式编写字符范围,则可以避免转义样式的问题。您可以将模式编写为
"^[0-9a-zA-Z#-.:-?\\[-_{-~]{16,128}$"
它将匹配16到128个仅包含
的char字符串0-9
- 数字a-zA-Z
- ASCII字母#-.
- #
,$
,%
,&
,'
,(
,)
,*
,+
,,
,-
,.
:-?
- :
,;
,<
,=
,>
,?
\[-_
- \
,]
,^
,_
{-~
- {
,|
,}
。 ~
请参阅regex demo。