[英]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.