簡體   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