private void button2_Click(object sender, EventArgs e)
{
string url="";
string hexpwd="";
string sid="";
string r="";
string extend="";
string r_sid="";
string login_url = "";
string rip = "";
Regex imgreg = new Regex("马上登录\\s<go\\shref=\"(?<url>[^\"]*)\"[\\s\\S]*\"hexpwd\"\\svalue=\"(?<hexpwd>\\S*)\"[\\s\\S]*\"sid\"\\svalue=\"(?<sid>[^\"]*)\"[\\S\\s]*\"r\"\\svalue=\"(?<r>\\d+)\"[\\s\\S]*\"extend\"\\svalue=\"(?<extend>[^\"]+)\"[\\s\\S]*\"r_sid\"\\svalue=\"(?<r_sid>[^\"]+)\"[\\s\\S]*\"login_url\"\\svalue=\"(?<login_url>[^\"]*)\"[\\s\\S]*\"rip\"\\svalue=\"(?<rip>\\S*)\"", RegexOptions.None);
Match imgmat = imgreg.Match(loginhtml);
if (imgmat.Success)
{
url = imgmat.Groups["url"].Value;
hexpwd = imgmat.Groups["hexpwd"].Value;
sid = imgmat.Groups["sid"].Value;
r = imgmat.Groups["r"].Value;
extend = imgmat.Groups["extend"].Value;
r_sid = imgmat.Groups["r_sid"].Value;
login_url = imgmat.Groups["login_url"].Value;
rip = imgmat.Groups["rip"].Value;
}
else
{
MessageBox.Show("系统错误,正则匹配失败");
}
}我这样处理的时候会提示正则匹配失败,loginhtml为string型,但如果添加上richtextb.text=loginhtml;之后,Match imgmat = imgreg.Match(richtextbox.text);这样就不会出错了,这是怎么回事啊?我通过断点看到的是imgmat的值为null。
Match imgmat = imgreg.Match(richtextbox.text);这样richtextbox.text的值应该是"",没能字符匹配不到,loginhtml 要是没有初始化值应该为null会报错,你检查下!
还有赋值到TEXT就不错了。能有这情况?
那你调度看TEXT与loginhtml有差异么?
还有赋值到TEXT就不错了。能有这情况?
那你调度看TEXT与loginhtml有差异么?