-2

我有以下字符串:

DNS Servers . . . . . . . . . . . : 10.204.127.11
                                    10.207.2.50
                                    10.200.10.6

我正在尝试构建一个正则表达式来解析 N 个 IP 地址。

我知道这里有一个据称重复的帖子,但它不适用于以下正则表达式:
http: //regexr.com?321nu

^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$

ps 抱歉,我的一位同事在我不在时在我的帐户上为我创建了这篇文章。我想我在这里添加了更多信息。随意拆开我。

4

2 回答 2

1

怎么样([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)

由于不应允许某些数字,因此更好但不完美的模式是:

(1[0-9]{0,2}|2[0-9]{0,1}|2[0-4][0-9]|25[0-5]|[3-9][0-9]?)(\.(0|1[0-9]{0,2}|2[0-9]{0,1}|2[0-4][0-9]|25[0-5]|[3-9][0-9]?)){3}
于 2012-08-31T15:13:49.330 回答
-1

如果您恰好有三个IP 地址(请参阅Regexr),请使用\1,\2\3从此正则表达式:

^\D*(.*)\s*(.*)\s*(.*)$

如果您有1 到 3 个IP 地址(请参阅Regexr),请使用\1,\2\3从此正则表达式中(使用前检查是否\2存在\3):

^\D*(?:(.*)(?:\s*(.*)(?:\s*(.*))?)?)$
于 2012-08-31T14:44:20.093 回答