使用RegEx解析DNS服务器的IP地址

时间:2012-08-31 14:04:39

标签: regex

我有以下字符串:

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

我正在尝试构建一个RegEx来解析出N个IP地址。

我了解据称有一个重复的帖子here,但它不适用于以下RegEx:
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])$

P.S。对不起,当我不在的时候,我的一位同事在我的帐户上开了这个帖子。我想我在这里添加了更多信息。随意解雇我。

2 个答案:

答案 0 :(得分: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}

答案 1 :(得分:-1)

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

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

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

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