用于分割 IPv4 和 IPv6 ip 的正则表达式 :port syntax

标签 regex ip

我正在尝试找出创建适用于 IPv4 和 IPv6 地址空间的正则表达式规则的最佳方法,格式为:

[2a00:1397:4:2a02::a1]:50434
129.13.252.47:13456

我很接近,但基本上,我需要匹配位于最后一个冒号字符(就在端口之前),而不是匹配该行的其余部分,因为我不想丢弃端口值。这个想法是最后一个冒号字符是分隔符。

我目前有以下正则表达式 :[^:]+$ ,它基本上获取最后一个冒号字符,但也匹配端口值。我需要匹配在冒号字符处停止。这可能吗?

https://regexr.com/3hpvk

最佳答案

正则表达式 ((?::))(?:[0-9]+)$ 将根据结尾数字和冒号进行反向查找。冒号 (:) 将是组(1)。

参见https://regexr.com/3hpvt

this将把所有单独的部分分组:(.*)((?::))((?:[0-9]+))$

关于用于分割 IPv4 和 IPv6 ip 的正则表达式 :port syntax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47738068/

相关文章:

集合内的 Python 正则表达式多字符匹配

linux - Tomcat:无法从局域网上的其他计算机连接

计算 IP 头长度

python - Selenium Python 改变 IP

linux - TCP 流量生成器

python - 在 while 循环中输出 re.search 和 re.match 时遇到问题

regex - 我需要一些帮助来缩短这个正则表达式

用于不区分大小写的 .net 和 Javascript 的正则表达式

regex - Golang 替换所有换行符

linux - 最后字节验证不适用于 bash 中的 IP