[英]Regex for EC2 instance ID
我需要一个能够匹配 AWS EC2 实例 ID 的正则表达式。 实例 ID 具有以下条件:
有效的实例 ID 为: i-ed3a2f7a
或i-096e0bec99b504f82
或i-0cad9e810fbd12f4f
无效的实例 ID 为e123g12
或i-1fz5645m
我能够创建以下正则表达式i-[a-f0-9](?:.{7}|.{16})$
但它也接受i-abcdeffh
。 h
不在af
之间
如果有人可以帮助我,将不胜感激
您可以创建一个正则表达式来匹配 8 个字符的 ID 值,并在其后添加一个可选的 9 个字符:
^i-[a-f0-9]{8}(?:[a-f0-9]{9})?$
请注意,我们使用行首锚点和行尾锚点来防止在 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.