我正在使用AWS命令行界面(CLI)从AWS中列出一些AMI镜像。镜像的名称看起来像这样:
XY_XYZ_Docker_1.13_XYZ_XXYY
在使用时,可以使用以下命令:
使用Asterisk(星号)会导致以下结果:
XY_XYZ_Docker_1.13_XYZ_XXYY
在使用时,可以使用以下命令:
aws ec2 describe-images --filters 'Name=name,Values="*_Docker_1.13_*"'
这个程序的工作效果符合预期。
现在我想用正则表达式代替静态值来进行名称筛选。从AWS文档中我了解到,可以通过正则表达式进行筛选。
我的思路如下:
aws ec2 describe-images --filters 'Name=name,Values="[_]Docker[_][0-9][.][0-9]{2}[_]"'
对于此项操作,结果始终为null。我尝试了不同的正则表达式引用方式。
2:
[_]Docker[_][0-9][.][0-9]{2}[_]
(不需要引号)会导致
解析参数“--filters”时出错:期望:“,”,但收到的是“D”,输入为: Name=name,Values=[]Docker[][0-9][.][0-9]{2}[_]
3:
*[_]Docker[_][0-9][.][0-9]{2}[_]*
使用Asterisk(星号)会导致以下结果:
解析参数“--filters”时出错:期望:',',但收到了']',输入为: Name=name,Values=[_]Docker[_][0-9][.][0-9]{2}[_]