C#正则表达式获取下拉菜单(select)的相关属性值

Jessica ·
更新时间:2024-09-20
· 740 次阅读

给几个在C#中,使用正则表达式取页面下拉菜单(select)中的值示例:

代码如下:
//取html中全部 select 的 name
Regex reg_name = new Regex(@"(?<=<select name=\"").*?(?=\"")");

//取html中全部<select>项的值
Regex reg_select = new Regex("(?is)<select name=*.*?>]*.*?</select>");

//取html中一个 select name 等于"Status"的值
Regex status = new Regex(@"(?is)<select name=\""status\"">]*.*?</select>");
 

一下是一段完整的代码和方法,取html中一个下拉菜单 select name 等于”Status”的中值,添加到DropDownList中:

代码如下:
string strDoc = (你的html);

//取html中一个下拉菜单 select name 等于"Status"的中值
Regex status = new Regex(@"(?is)<select name=\""status\"">]*.*?</select>");
MatchCollection mc_status = status.Matches(strDoc);
getSelectOptions(mc_status, cmbStatus);

/// <summary>
/// 取select对列表复制
/// </summary>
/// <param name="selected"></param>
/// <param name="cmb"></param>
void getSelectOptions(MatchCollection selected, ComboBox cmb)
{
    if (selected.Count < 1)
        return;
    txtValues.Text = "";
    txtValues.Text = selected[0].Value.Replace("</option>", Environment.NewLine);
    string tmpTxt = "";
    foreach (string s in txtValues.Lines)
    {
        if (s == "")
            continue;
        string a = "";
        a = s.Replace("\"", "").Replace("<option value=\"", "");
        int x = a.LastIndexOf(">");
        tmpTxt += a.Substring(x + 1) + Environment.NewLine;
    }
    txtValues.Text = tmpTxt.Trim();
    cmb.Items.Clear();
    cmb.Items.AddRange(txtValues.Lines);
    cmb.SelectedIndex = 0;
    cmb.Size = cmb.PreferredSize;
}

您可能感兴趣的文章:C#基于正则表达式抓取a标签链接和innerhtml的方法C#基于正则表达式实现获取网页中所有信息的网页抓取类实例C#使用正则表达式抓取网站信息示例使用C#正则表达式获取必应每日图片地址C#匹配中文字符串的4种正则表达式分享c#使用正则表达式匹配字符串验证URL示例C#正则表达式匹配HTML中的图片路径,图片地址代码C#正则函数用法实例【匹配、替换、提取】实例分析js和C#中使用正则表达式匹配a标签C#.Net基于正则表达式抓取百度百家文章列表的方法示例



菜单 C# 属性值 属性 正则 正则表达式 select 下拉菜单

需要 登录 后方可回复, 如果你还没有账号请 注册新账号