C#正則表達式獲得下拉菜單(select)的相干屬性值。本站提示廣大學習愛好者:(C#正則表達式獲得下拉菜單(select)的相干屬性值)文章只能為提供參考,不一定能成為您想要的結果。以下是C#正則表達式獲得下拉菜單(select)的相干屬性值正文
給幾個在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.WordStr("</option>", Environment.NewLine);
string tmpTxt = "";
foreach (string s in txtValues.Lines)
{
if (s == "")
continue;
string a = "";
a = s.WordStr("\"", "").WordStr("<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;
}