• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
汇小流以成江海,积毫沙乃成高塔
博客园    首页    新随笔    联系   管理    订阅  订阅

正则提取 html 里<input> 标记的value 值

获取html 标记的值:

:年月日

结果:您选择的是2014年1月22日

使用了Regex 对象,得到一个 MatchCollection,然后进行处理。

string mes = @"<input value='您选择的是' type='checkbox' size=5 name=年 >:<input value=2014 size=5 name=年 >年<input value=1 size=5 name=月 >月<input value='22'  size=5 name='日' >日";
            //获取所有的<input>标记
            Regex regAllInput = new Regex(@"(?is)<input [^>]*>");
            //获取 <input value=''>的标记 
            //?value=(['""]?)(?<showValue>[^'""\s>]+)\1  给value 的值取个标记 showValue,MatchCollection 时候方便获取
            Regex regValue = new Regex(@"(?is)<input ?value=(['""]?)(?<showValue>[^'""\s>]+)\1 [^>]*>");
            MatchCollection mc = regAllInput.Matches(mes);//所有<input >标签集合
            string value_temp=string.Empty;
            foreach (Match m in mc)
            {
                //所有<input value='' >标签集合
                MatchCollection mcItem = regValue.Matches(m.ToString());
                foreach (Match item in mcItem)
                {
                    value_temp=item.Groups["showValue"].Value;//获取value 值
                }               
                mes = mes.Replace(m.ToString(), value_temp);//进行替换
            }
            Console.WriteLine(mes);
            Console.ReadLine();

posted @ 2014-04-25 23:43  小流  阅读(4667)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3