0

我有两个可能的输入需要用正则表达式解析:

192.168.1.1:80 [172.16.1.1:8080]

或者

192.168.1.1:80 [172.16.1.1]

如果 :8080 存在,我想返回 8080,但如果没有,我想返回 80。

这可能吗?

谢谢

4

1 回答 1

0

您可以通过积极的后视和消极的前瞻来做到这一点。

(?<=:)\d+(?!.*:\d+)

或者你可以使用

 .*:(\d+)

第 1 组捕获您想要的内容

于 2013-02-01T18:29:53.790 回答