簡體   English   中英

使用 RegEx 從 IP 列表中提取倒數第二個 IP 地址

[英]Extract second last IP address from a list of IP using RegEx

我想使用正則表達式從下面的表達式中提取倒數第二個 IP 地址:

18.223.194.15, 56.99.45.32, 32.65.27.65, 52.89.22.5, 123.12.22.53

應該從上面得到 52.89.22.5

16.45.98.14, 10.22.102.16

應該從上面得到 16.45.98.14

我能夠使用以下正則表達式命令獲得最后一個 IP 或第一個 IP 但我無法獲得倒數第二個 ip

獲取最后一個 IP

(?<IP>([0-9]{1,3}\.){3}[0-9]{1,3})+$

獲得第一個 IP

(?<IP>([0-9]{1,3}\.){3}[0-9]{1,3}),.*

提前致謝

您可以捕獲倒數第二個,並匹配最后一個斷言字符串末尾的字符串。

\b(?<IP>(?:[0-9]{1,3}\.){3}[0-9]{1,3}), (?:[0-9]{1,3}\.){3}[0-9]{1,3}$

查看正則表達式演示

您需要具有某種形式的前瞻/后視的正則表達式風格。

這可以采取被某物包圍的捕獲組的形式。

假設正則表達式具有基本形式: ^A(xA)*$^(Ax)*A$

A是有趣的東西。 x是分隔符。

  • 最后A : ^(Ax)*(A)$
  • 對於倒數第二個A^(Ax)*(A)xA$
  • 對於倒數第 (n+1) 個A : ^(Ax)*(A)(xA){n}$

在所有情況下,結果都在第二個捕獲組中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM