我正在尝试找出创建适用于 IPv4 和 IPv6 地址空间的正则表达式规则的最佳方法,格式为:
[2a00:1397:4:2a02::a1]:50434
129.13.252.47:13456
我很接近,但基本上,我需要匹配位于最后一个冒号字符(就在端口之前),而不是匹配该行的其余部分,因为我不想丢弃端口值。这个想法是最后一个冒号字符是分隔符。
我目前有以下正则表达式 :[^:]+$
,它基本上获取最后一个冒号字符,但也匹配端口值。我需要匹配在冒号字符处停止。这可能吗?
最佳答案
正则表达式 ((?::))(?:[0-9]+)$
将根据结尾数字和冒号进行反向查找。冒号 (:) 将是组(1)。
和this将把所有单独的部分分组:(.*)((?::))((?:[0-9]+))$
关于用于分割 IPv4 和 IPv6 ip 的正则表达式 :port syntax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47738068/