与单词后的IP地址匹配的正则表达式

时间:2013-03-28 17:21:44

标签: regex ip

这是一个HTML(实际上有一部分JS)文本存储为我的C#应用​​程序中的字符串:

...
var wanPara = new Array(
    0, "00-1D-0F-EA-9C-91", "86.126.104.62", 3, "255.255.255.255", 0, 0, "86.126.104.62", 0, 1, 0, "213.154.124.1 , 193.231.252.1", "0 day(s) 07:40:24", "Connected", "", 0, 
    0,0 );
...

我想创建一个正则表达式,它将为我提供 86.126.104.62 的文本。 知识产权可能会有所不同,这就是为什么我想得到它。这个例子是86.126.104.62。 你能给我一些建议吗?

1 个答案:

答案 0 :(得分:2)

简易版:

\bwanPara\b(.|\r|\n)*?\b(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\b

复杂版本:

\bwanPara\b(.|\r|\n)*?\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))\b

然后提取第二组。

一些有用的注释:

\b - 字边界
(.|\r|\n) - 外卡或回车或换行符 (.|\r|\n)*? - 零或者更多的外卡或回车或换行,非贪婪的 \d - 数字
\d{1,3} - 一到三位数 \. - 已转义.
[X-Y] - 从X到Y的任何单个字符

来自here的IP正则表达式。