如何使用C#regex提取代理ip地址

如何使用C#regex提取代理ip地址,c#,regex,ip,C#,Regex,Ip,我想使用C#regex从字符串中提取代理地址(主机和端口)。 字符串如下所示: <span class="tbBottomLine" style="width:140px;"> 208.31.251.38 </span> <span class="tbBottomLine" style="width:50px;"> 80 </span> 20

我想使用C#regex从字符串中提取代理地址(主机和端口)。
字符串如下所示:

<span class="tbBottomLine" style="width:140px;">
            208.31.251.38
        </span>
        <span class="tbBottomLine" style="width:50px;">
                80
        </span>

208.31.251.38
80
还是这个

<tr class="odd">
<td>115.29.247.115</td>
<td>8888</td></tr>

115.29.247.115
8888

不可能编写正则表达式,它将从任何标记捕获代理信息。例如,一些网站可以将端口号“烘焙”到图片中,因此您必须单独处理每种标记

一般来说,html不能也不应该用正则表达式进行解析

无论如何,这里有一个例子,它可以处理两个输入字符串

WebProxy[] ProxyArray = Regex.Matches(input, @"(?<ip>\d*\.\d*\.\d*\.\d*).*?>\s*(?<port>\d+)\s*<")
               .Cast<Match>().Select(m => new WebProxy(m.Groups["ip"].Value + ":" + m.Groups["port"].Value)).ToArray();

WebProxy[]ProxyArray=Regex.Matches(输入,@“(?\d*\.\d*\.\d*.\d*).*>\s*(?\d+)\s*看起来像是解析器的作业……您是否正在尝试解析html。。。??