繁体   English   中英

EC2 实例 ID 的正则表达式

[英]Regex for EC2 instance ID

我需要一个能够匹配 AWS EC2 实例 ID 的正则表达式。 实例 ID 具有以下条件:

  • 可以是 8 或 17 个字符
  • 应该以 i- 开头
  • 后跟 af 或 0-9

有效的实例 ID 为: i-ed3a2f7ai-096e0bec99b504f82i-0cad9e810fbd12f4f

无效的实例 ID 为e123g12i-1fz5645m

我能够创建以下正则表达式i-[a-f0-9](?:.{7}|.{16})$但它也接受i-abcdeffh h不在af之间

如果有人可以帮助我,将不胜感激

您可以创建一个正则表达式来匹配 8 个字符的 ID 值,并在其后添加一个可选的 9 个字符:

^i-[a-f0-9]{8}(?:[a-f0-9]{9})?$

正则表达式 101 上的演示

请注意,我们使用行首锚点和行尾锚点来防止在 ID 值之前或之后匹配其他字符。 此正则表达式将匹配 8 或 17 个字符 ID 值,而不是 12 或 11 或 5 等。

您似乎可以使用:

^i-(?:[a-f\d]{8}|[a-f\d]{17})$

查看在线演示


  • ^i- - 起始线锚点,后跟字面“i-”;
  • (?: - 打开非捕获组进行交替;
    • [af\d]{8} - 匹配给定字符 class 中任何字符的 8 次;
    • | - 或者;
    • [af\d]{17} - 匹配给定字符 class 中的任何字符 17 次;
  • $ - 结束线锚。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM