[英]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$
A
: ^(Ax)*(A)(xA){n}$
在所有情况下,结果都在第二个捕获组中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.