帮忙写个获取IP地址的正则表达式,谢谢 @"(?s)'ip0'.*?(?<ip0>[\d.]+).*?'port0'.*?(?<port0>\d+)" 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 using System;using System.Text.RegularExpressions;class Program{ static void Main() { string s = @"<TD align=middle bordercolordark=""#000000"" width=""113"" height=""14""> <div id=ip0> <A title=""点击复制此IP地址"" onClick=""copycode(findobj('ip0'));""> <font color=black>200.30.101.20 </font> </a> </div> </TD> <TD align=middle bordercolordark=""#000000"" width=""56"" height=""14""> <div id=port0> <A title=""点击复制此端口"" onClick=""copycode2(findobj('port0'));""> <font color=black>8080 </font> </a> </div> </TD> <TD align=middle bordercolordark=""#000000"" width=""60"" height=""14"">正常 </TD> <TD align=middle bordercolordark=""#000000"" width=""62"" height=""14"">4608 </TD>"; Match m = Regex.Match(s, @"(?s)'ip0'.*?(?<ip0>[\d.]+).*?'port0'.*?(?<port0>\d+)"); if (m.Success) { Console.WriteLine("{0}:{1}", m.Groups["ip0"], m.Groups["port0"]); // 这就是你要的:200.30.101.20:8080 } }} using System;using System.Text.RegularExpressions;class Program{ static void Main() { string s = @"<TD align=middle bordercolordark=""#000000"" width=""113"" height=""14""> <div id=ip0> <A title=""点击复制此IP地址"" onClick=""copycode(findobj('ip0'));""> <font color=black>200.30.101.20 </font> </a> </div> </TD> <TD align=middle bordercolordark=""#000000"" width=""56"" height=""14""> <div id=port0> <A title=""点击复制此端口"" onClick=""copycode2(findobj('port0'));""> <font color=black>8080 </font> </a> </div> </TD> <TD align=middle bordercolordark=""#000000"" width=""60"" height=""14"">正常 </TD> <TD align=middle bordercolordark=""#000000"" width=""62"" height=""14"">4608 </TD>"; Regex r = new Regex(@"(?s).*?'ip0'.*?([\d.]+).*?'port0'.*?(\d+).*"); string t = r.Replace(s, "$1:$2"); // <---- 这就是你要的:200.30.101.20:8080 Console.WriteLine(t); }} <TD align=middle bordercolordark="#000000" width="113" height="14"><div id=ip0><A title="点击复制此IP地址" onClick="copycode(findobj('ip0'));"><font color=black>200.30.101.20</font></a></div></TD> <TD align=middle bordercolordark="#000000" width="56" height="14"><div id=port0><A title="点击复制此端口" onClick="copycode2(findobj('port0'));"><font color=black>8080</font></a></div></TD> <TD align=middle bordercolordark="#000000" width="60" height="14">正常</TD> <TD align=middle bordercolordark="#000000" width="62" height="14">4608</TD><TD align=middle bordercolordark="#000000" width="113" height="14"><div id=ip1><A title="点击复制此IP地址" onClick="copycode(findobj('ip1'));"><font color=black>200.30.101.8</font></a></div></TD> <TD align=middle bordercolordark="#000000" width="56" height="14"><div id=port1><A title="点击复制此端口" onClick="copycode2(findobj('port1'));"><font color=black>1231</font></a></div></TD> <TD align=middle bordercolordark="#000000" width="60" height="14">优质</TD> <TD align=middle bordercolordark="#000000" width="62" height="14">3842</TD> <TD align=middle bordercolordark="#000000" width="57" height="14">http</TD>...........需要得到里面的:200.30.101.20:8080200.30.101.8:1231... string strContent = "<TD align=middle bordercolordark=\"#000000\" width=\"113\" height=\"14\"> <div id=ip0> <A title=\"点击复制此IP地址\" onClick=\"copycode(findobj('ip0'));\"> <font color=black>200.30.101.20 </font> </a> </div> </TD> "+ "<TD align=middle bordercolordark=\"#000000\" width=\"56\" height=\"14\"> <div id=port0> <A title=\"点击复制此端口\" onClick=\"copycode2(findobj('port0'));\"> <font color=black>8080 </font> </a> </div> </TD> "+ "<TD align=middle bordercolordark=\"#000000\" width=\"60\" height=\"14\">正常 </TD> "+ "<TD align=middle bordercolordark=\"#000000\" width=\"62\" height=\"14\">4608 </TD> "+"<TD align=middle bordercolordark=\"#000000\" width=\"113\" height=\"14\"> <div id=ip1> <A title=\"点击复制此IP地址\" onClick=\"copycode(findobj('ip1'));\"> <font color=black>200.30.101.8 </font> </a> </div> </TD> "+ " <TD align=middle bordercolordark=\"#000000\" width=\"56\" height=\"14\"> <div id=port1> <A title=\"点击复制此端口\" onClick=\"copycode2(findobj('port1'));\"> <font color=black>1231 </font> </a> </div> </TD> "+ "<TD align=middle bordercolordark=\"#000000\" width=\"60\" height=\"14\">优质 </TD> "+ "<TD align=middle bordercolordark=\"#000000\" width=\"62\" height=\"14\">3842 </TD> "+ "<TD align=middle bordercolordark=\"#000000\" width=\"57\" height=\"14\">http </TD> "; Regex re = new Regex(@"(?si)ip(\d+).*?(?:<font[^>]*>)(?<ip>.*?(?=</font>)).*?(port\1).*?(?:<font[^>]*>)(?<port>.*?(?=</font>))"); List<string> iplist = new List<string>(); foreach (Match m in re.Matches(strContent)) { iplist.Add(m.Groups["ip"].Value.Trim() + ":" + m.Groups["port"].Value.Trim()); }iplist为结果 using System;using System.Text.RegularExpressions;class Program{ static void Main() { string s = @"<TD align=middle bordercolordark=""#000000"" width=""113"" height=""14""> <div id=ip0> <A title=""点击复制此IP地址"" onClick=""copycode(findobj('ip0'));""> <font color=black>200.30.101.20 </font> </a> </div> </TD> <TD align=middle bordercolordark=""#000000"" width=""56"" height=""14""> <div id=port0> <A title=""点击复制此端口"" onClick=""copycode2(findobj('port0'));""> <font color=black>8080 </font> </a> </div> </TD> <TD align=middle bordercolordark=""#000000"" width=""60"" height=""14"">正常 </TD> <TD align=middle bordercolordark=""#000000"" width=""62"" height=""14"">4608 </TD> <TD align=middle bordercolordark=""#000000"" width=""113"" height=""14""> <div id=ip1> <A title=""点击复制此IP地址"" onClick=""copycode(findobj('ip1'));""> <font color=black>200.30.101.8 </font> </a> </div> </TD> <TD align=middle bordercolordark=""#000000"" width=""56"" height=""14""> <div id=port1> <A title=""点击复制此端口"" onClick=""copycode2(findobj('port1'));""> <font color=black>1231 </font> </a> </div> </TD> <TD align=middle bordercolordark=""#000000"" width=""60"" height=""14"">优质 </TD> <TD align=middle bordercolordark=""#000000"" width=""62"" height=""14"">3842 </TD> <TD align=middle bordercolordark=""#000000"" width=""57"" height=""14"">http </TD>"; Regex r1 = new Regex(@"(?s).*?'ip\d+'.*?([\d.]+).*?'port\d+'.*?(\d+)"); Regex r2 = new Regex(@"(?s)([\d.:|]+).*"); string[] t = r2.Replace(r1.Replace(s, "$1:$2|"), "$1").Trim('|').Split('|'); // 这个字符串数组 t 就是你要的! foreach (string ip in t) Console.WriteLine(ip); }} using System;using System.Text.RegularExpressions;class Program{ static void Main() { string s = @"<TD align=middle bordercolordark=""#000000"" width=""113"" height=""14""> <div id=ip0> <A title=""点击复制此IP地址"" onClick=""copycode(findobj('ip0'));""> <font color=black>200.30.101.20 </font> </a> </div> </TD> <TD align=middle bordercolordark=""#000000"" width=""56"" height=""14""> <div id=port0> <A title=""点击复制此端口"" onClick=""copycode2(findobj('port0'));""> <font color=black>8080 </font> </a> </div> </TD> <TD align=middle bordercolordark=""#000000"" width=""60"" height=""14"">正常 </TD> <TD align=middle bordercolordark=""#000000"" width=""62"" height=""14"">4608 </TD> <TD align=middle bordercolordark=""#000000"" width=""113"" height=""14""> <div id=ip1> <A title=""点击复制此IP地址"" onClick=""copycode(findobj('ip1'));""> <font color=black>200.30.101.8 </font> </a> </div> </TD> <TD align=middle bordercolordark=""#000000"" width=""56"" height=""14""> <div id=port1> <A title=""点击复制此端口"" onClick=""copycode2(findobj('port1'));""> <font color=black>1231 </font> </a> </div> </TD> <TD align=middle bordercolordark=""#000000"" width=""60"" height=""14"">优质 </TD> <TD align=middle bordercolordark=""#000000"" width=""62"" height=""14"">3842 </TD> <TD align=middle bordercolordark=""#000000"" width=""57"" height=""14"">http </TD>"; Regex r1 = new Regex(@"(?s).*?'ip\d+'.*?([\d.]+).*?'port\d+'.*?(\d+)"); Regex r2 = new Regex(@"(?s)([\d.:|]+).*"); string t = r2.Replace(r1.Replace(s, "$1:$2|"), "$1").Replace("|", "\r\n"); // 如果你想得到一个多行的字符串,每行一个IP,那就这样做! Console.WriteLine(t); /* 输出: 200.30.101.20:8080 200.30.101.8:1231 */ }} ^((1?\\d?\\d|(2([0-4]\\d|5[0-5])))\\.){3}(1?\\d?\\d|(2([0-4]\\d|5[0-5])))$ LZ 的 ID 怎么和 Ivony 如此相像? 保存用户登录信息 lucene.net 搜索结果缓慢 C#鼠标事件问题 工作流WF中,怎样增加节点,删除节点.例如:A流转到B,C,D,也可以流转到E,F.就是动态增加节点?? 如何实现自动登陆功能? 帮我看看 高手进,MDI窗体奇怪的问题,.net 2.0才有这个问题,1.0没有 如何把已经开发好的.net(windows)程序和FrameWorks框架包一起打包成安装文件 怎么在DataGrid实现单击列来排序?重复单击就按反序排序。 今天发工资,高兴!!!送分! 帮忙写个正则,谢谢 跪求高人指点!
using System.Text.RegularExpressions;class Program
{
static void Main()
{
string s = @"<TD align=middle bordercolordark=""#000000"" width=""113"" height=""14""> <div id=ip0> <A title=""点击复制此IP地址"" onClick=""copycode(findobj('ip0'));""> <font color=black>200.30.101.20 </font> </a> </div> </TD>
<TD align=middle bordercolordark=""#000000"" width=""56"" height=""14""> <div id=port0> <A title=""点击复制此端口"" onClick=""copycode2(findobj('port0'));""> <font color=black>8080 </font> </a> </div> </TD>
<TD align=middle bordercolordark=""#000000"" width=""60"" height=""14"">正常 </TD>
<TD align=middle bordercolordark=""#000000"" width=""62"" height=""14"">4608 </TD>";
Match m = Regex.Match(s, @"(?s)'ip0'.*?(?<ip0>[\d.]+).*?'port0'.*?(?<port0>\d+)");
if (m.Success)
{
Console.WriteLine("{0}:{1}", m.Groups["ip0"], m.Groups["port0"]);
// 这就是你要的:200.30.101.20:8080
}
}
}
using System.Text.RegularExpressions;class Program
{
static void Main()
{
string s = @"<TD align=middle bordercolordark=""#000000"" width=""113"" height=""14""> <div id=ip0> <A title=""点击复制此IP地址"" onClick=""copycode(findobj('ip0'));""> <font color=black>200.30.101.20 </font> </a> </div> </TD>
<TD align=middle bordercolordark=""#000000"" width=""56"" height=""14""> <div id=port0> <A title=""点击复制此端口"" onClick=""copycode2(findobj('port0'));""> <font color=black>8080 </font> </a> </div> </TD>
<TD align=middle bordercolordark=""#000000"" width=""60"" height=""14"">正常 </TD>
<TD align=middle bordercolordark=""#000000"" width=""62"" height=""14"">4608 </TD>"; Regex r = new Regex(@"(?s).*?'ip0'.*?([\d.]+).*?'port0'.*?(\d+).*");
string t = r.Replace(s, "$1:$2"); // <---- 这就是你要的:200.30.101.20:8080
Console.WriteLine(t);
}
}
<TD align=middle bordercolordark="#000000" width="56" height="14"><div id=port0><A title="点击复制此端口" onClick="copycode2(findobj('port0'));"><font color=black>8080</font></a></div></TD>
<TD align=middle bordercolordark="#000000" width="60" height="14">正常</TD>
<TD align=middle bordercolordark="#000000" width="62" height="14">4608</TD>
<TD align=middle bordercolordark="#000000" width="113" height="14"><div id=ip1><A title="点击复制此IP地址" onClick="copycode(findobj('ip1'));"><font color=black>200.30.101.8</font></a></div></TD>
<TD align=middle bordercolordark="#000000" width="56" height="14"><div id=port1><A title="点击复制此端口" onClick="copycode2(findobj('port1'));"><font color=black>1231</font></a></div></TD>
<TD align=middle bordercolordark="#000000" width="60" height="14">优质</TD>
<TD align=middle bordercolordark="#000000" width="62" height="14">3842</TD>
<TD align=middle bordercolordark="#000000" width="57" height="14">http</TD>
...........需要得到里面的:
200.30.101.20:8080
200.30.101.8:1231
...
string strContent = "<TD align=middle bordercolordark=\"#000000\" width=\"113\" height=\"14\"> <div id=ip0> <A title=\"点击复制此IP地址\" onClick=\"copycode(findobj('ip0'));\"> <font color=black>200.30.101.20 </font> </a> </div> </TD> "+
"<TD align=middle bordercolordark=\"#000000\" width=\"56\" height=\"14\"> <div id=port0> <A title=\"点击复制此端口\" onClick=\"copycode2(findobj('port0'));\"> <font color=black>8080 </font> </a> </div> </TD> "+
"<TD align=middle bordercolordark=\"#000000\" width=\"60\" height=\"14\">正常 </TD> "+
"<TD align=middle bordercolordark=\"#000000\" width=\"62\" height=\"14\">4608 </TD> "+
"<TD align=middle bordercolordark=\"#000000\" width=\"113\" height=\"14\"> <div id=ip1> <A title=\"点击复制此IP地址\" onClick=\"copycode(findobj('ip1'));\"> <font color=black>200.30.101.8 </font> </a> </div> </TD> "+
" <TD align=middle bordercolordark=\"#000000\" width=\"56\" height=\"14\"> <div id=port1> <A title=\"点击复制此端口\" onClick=\"copycode2(findobj('port1'));\"> <font color=black>1231 </font> </a> </div> </TD> "+
"<TD align=middle bordercolordark=\"#000000\" width=\"60\" height=\"14\">优质 </TD> "+
"<TD align=middle bordercolordark=\"#000000\" width=\"62\" height=\"14\">3842 </TD> "+
"<TD align=middle bordercolordark=\"#000000\" width=\"57\" height=\"14\">http </TD> "; Regex re = new Regex(@"(?si)ip(\d+).*?(?:<font[^>]*>)(?<ip>.*?(?=</font>)).*?(port\1).*?(?:<font[^>]*>)(?<port>.*?(?=</font>))");
List<string> iplist = new List<string>();
foreach (Match m in re.Matches(strContent))
{
iplist.Add(m.Groups["ip"].Value.Trim() + ":" + m.Groups["port"].Value.Trim());
}
iplist为结果
using System.Text.RegularExpressions;class Program
{
static void Main()
{
string s = @"<TD align=middle bordercolordark=""#000000"" width=""113"" height=""14""> <div id=ip0> <A title=""点击复制此IP地址"" onClick=""copycode(findobj('ip0'));""> <font color=black>200.30.101.20 </font> </a> </div> </TD>
<TD align=middle bordercolordark=""#000000"" width=""56"" height=""14""> <div id=port0> <A title=""点击复制此端口"" onClick=""copycode2(findobj('port0'));""> <font color=black>8080 </font> </a> </div> </TD>
<TD align=middle bordercolordark=""#000000"" width=""60"" height=""14"">正常 </TD>
<TD align=middle bordercolordark=""#000000"" width=""62"" height=""14"">4608 </TD>
<TD align=middle bordercolordark=""#000000"" width=""113"" height=""14""> <div id=ip1> <A title=""点击复制此IP地址"" onClick=""copycode(findobj('ip1'));""> <font color=black>200.30.101.8 </font> </a> </div> </TD>
<TD align=middle bordercolordark=""#000000"" width=""56"" height=""14""> <div id=port1> <A title=""点击复制此端口"" onClick=""copycode2(findobj('port1'));""> <font color=black>1231 </font> </a> </div> </TD>
<TD align=middle bordercolordark=""#000000"" width=""60"" height=""14"">优质 </TD>
<TD align=middle bordercolordark=""#000000"" width=""62"" height=""14"">3842 </TD>
<TD align=middle bordercolordark=""#000000"" width=""57"" height=""14"">http </TD>"; Regex r1 = new Regex(@"(?s).*?'ip\d+'.*?([\d.]+).*?'port\d+'.*?(\d+)");
Regex r2 = new Regex(@"(?s)([\d.:|]+).*"); string[] t = r2.Replace(r1.Replace(s, "$1:$2|"), "$1").Trim('|').Split('|');
// 这个字符串数组 t 就是你要的! foreach (string ip in t)
Console.WriteLine(ip);
}
}
using System.Text.RegularExpressions;class Program
{
static void Main()
{
string s = @"<TD align=middle bordercolordark=""#000000"" width=""113"" height=""14""> <div id=ip0> <A title=""点击复制此IP地址"" onClick=""copycode(findobj('ip0'));""> <font color=black>200.30.101.20 </font> </a> </div> </TD>
<TD align=middle bordercolordark=""#000000"" width=""56"" height=""14""> <div id=port0> <A title=""点击复制此端口"" onClick=""copycode2(findobj('port0'));""> <font color=black>8080 </font> </a> </div> </TD>
<TD align=middle bordercolordark=""#000000"" width=""60"" height=""14"">正常 </TD>
<TD align=middle bordercolordark=""#000000"" width=""62"" height=""14"">4608 </TD>
<TD align=middle bordercolordark=""#000000"" width=""113"" height=""14""> <div id=ip1> <A title=""点击复制此IP地址"" onClick=""copycode(findobj('ip1'));""> <font color=black>200.30.101.8 </font> </a> </div> </TD>
<TD align=middle bordercolordark=""#000000"" width=""56"" height=""14""> <div id=port1> <A title=""点击复制此端口"" onClick=""copycode2(findobj('port1'));""> <font color=black>1231 </font> </a> </div> </TD>
<TD align=middle bordercolordark=""#000000"" width=""60"" height=""14"">优质 </TD>
<TD align=middle bordercolordark=""#000000"" width=""62"" height=""14"">3842 </TD>
<TD align=middle bordercolordark=""#000000"" width=""57"" height=""14"">http </TD>"; Regex r1 = new Regex(@"(?s).*?'ip\d+'.*?([\d.]+).*?'port\d+'.*?(\d+)");
Regex r2 = new Regex(@"(?s)([\d.:|]+).*"); string t = r2.Replace(r1.Replace(s, "$1:$2|"), "$1").Replace("|", "\r\n");
// 如果你想得到一个多行的字符串,每行一个IP,那就这样做! Console.WriteLine(t);
/* 输出:
200.30.101.20:8080
200.30.101.8:1231
*/
}
}