首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

如何使用正则表达式实现如上功能

2013-03-22 
怎么使用正则表达式实现如下功能。本帖最后由 flyso 于 2013-03-20 13:45:50 编辑获取的HTML字符串如下:ht

怎么使用正则表达式实现如下功能。
本帖最后由 flyso 于 2013-03-20 13:45:50 编辑 获取的HTML字符串如下:
<html>
<head>
</head>
<body>
<table>
<tr><td class="tll"></td><td class="tlm"></td></tr></table>
...
<ST:TextBox id="T_1_1_t" style="width:160px;height:25px;" src="Control/TextBox.gif" runat="server" tooltip="工程项目名称" /></ST:TextBox>
....
<ST:CheckBox id="CB_1_1_x" style="width:160px;height:25px;" src="Control/TextBox.gif" runat="server" tooltip="选择工程类型" /></ST:CheckBox>
</body>
</html>
怎么用正则表达式将所有
包括 <ST 的控件的属性 tooltip和id属性放入集合中(可以是泛型)

然后当做数据源绑定到DropDownList

绑定后最后的HTML效果是
<select ... >
<option value="T_1_1_t">工程项目名称</option>
<option value="CB_1_1_x">选择工程类型</option>
</select>
[解决办法]

   string str ="字符串";
            var list = Regex.Matches(str, @"(?is)<ST:(?=[^>]*?id=([""'])(?<id>[^""']+)\1)(?=[^>]*?tooltip=([""'])(?<tooltip>[^""']+)\2)[^>]*>").OfType<Match>().Select(t => new { id = t.Groups["id"].Value, tooltip = t.Groups["tooltip"].Value }).ToList();
          

[解决办法]
  string txt = "(!is)<option value="T_1_1_t">工程项目名称</option>     <option value="CB_1_1_x">选择工程类型</option>";
            var ma = Regex.Matches(txt, "<option.value="(.+?)">(.+?)</option>").OfType<Match>().Select(x => "value=" + x.Groups[1] + " name=" + x.Groups[2]);
            foreach (var item in ma)
            {
                Console.WriteLine(item);
            }
            Console.Read();

热点排行