0

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

...
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。IP可能会有所不同,所以这就是我想要得到它的原因。对于这个例子是 86.126.104.62。你能给我一些建议吗?

4

1 回答 1

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 的任何单个字符

IP 正则表达式取自这里

于 2013-03-28T17:37:15.387 回答