求一正则表达式,取出input属性值

liu_dashi 2013-07-23 11:14:28
有一个文本,其中含有多个input标签,标签属性如下:<input id=0001 style="border:0;padding:0;margin:0;color:blue;text-decoration:underline;width:20px;cursor:pointer; value=XX type=text />
想通过正则找出所有input,然后通过字符串截取得到id、value的值。可是在不同的浏览器中input属性的顺序有变化。因此截取出的值有误,不知道大家有没有别的方法,来得到每个input的ID和value属性值?
...全文
329 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
liu_dashi 2013-07-23
  • 打赏
  • 举报
回复
引用 7 楼 mmm306306 的回复:
[quote=引用 6 楼 liu_dashi 的回复:] [quote=引用 4 楼 mmm306306 的回复:]
(?is)<input[^/>]* id=(?<id>\S*)[^/>]* value=(?<v>\S*) [^/>]*/>
我用这个正则 匹配出来的 怎么还是 整个input标签啊?[/quote] 取 分组内容哇。 分组名id 就是ID 分组名v 就是value[/quote] 怎么取分组的值呢?
马老虎 2013-07-23
  • 打赏
  • 举报
回复
引用 6 楼 liu_dashi 的回复:
[quote=引用 4 楼 mmm306306 的回复:]
(?is)<input[^/>]* id=(?<id>\S*)[^/>]* value=(?<v>\S*) [^/>]*/>
我用这个正则 匹配出来的 怎么还是 整个input标签啊?[/quote] 取 分组内容哇。 分组名id 就是ID 分组名v 就是value
liu_dashi 2013-07-23
  • 打赏
  • 举报
回复
引用 4 楼 mmm306306 的回复:
(?is)<input[^/>]* id=(?<id>\S*)[^/>]* value=(?<v>\S*) [^/>]*/>
我用这个正则 匹配出来的 怎么还是 整个input标签啊?
insus 2013-07-23
  • 打赏
  • 举报
回复
马老虎 2013-07-23
  • 打赏
  • 举报
回复
(?is)<input[^/>]* id=(?<id>\S*)[^/>]* value=(?<v>\S*) [^/>]*/>

liu_dashi 2013-07-23
  • 打赏
  • 举报
回复
我是在后台进行操作!
EnForGrass 2013-07-23
  • 打赏
  • 举报
回复
jquery选择器多好用的 $("input[type=text]")
EnForGrass 2013-07-23
  • 打赏
  • 举报
回复
这个用什么正则 用Jquery来获取ID和Value
liu_dashi 2013-07-23
  • 打赏
  • 举报
回复
非常好 解决了我的问题!
马老虎 2013-07-23
  • 打赏
  • 举报
回复
引用 8 楼 liu_dashi 的回复:
[quote=引用 7 楼 mmm306306 的回复:] [quote=引用 6 楼 liu_dashi 的回复:] [quote=引用 4 楼 mmm306306 的回复:]
(?is)<input[^/>]* id=(?<id>\S*)[^/>]* value=(?<v>\S*) [^/>]*/>
我用这个正则 匹配出来的 怎么还是 整个input标签啊?[/quote] 取 分组内容哇。 分组名id 就是ID 分组名v 就是value[/quote] 怎么取分组的值呢?[/quote]

//示例
using System;
using System.Text.RegularExpressions;

class Example 
{
   static void Main() 
   {
      string text = "One car red car blue car";
      string pat = @"(\w+)\s+(car)";

      // Instantiate the regular expression object.
      Regex r = new Regex(pat, RegexOptions.IgnoreCase);

      // Match the regular expression pattern against a text string.
      Match m = r.Match(text);
      int matchCount = 0;
      while (m.Success) 
      {
         Console.WriteLine("Match"+ (++matchCount));
         for (int i = 1; i <= 2; i++) 
         {
            Group g = m.Groups[i];
            Console.WriteLine("Group"+i+"='" + g + "'");
            CaptureCollection cc = g.Captures;
            for (int j = 0; j < cc.Count; j++) 
            {
               Capture c = cc[j];
               System.Console.WriteLine("Capture"+j+"='" + c + "', Position="+c.Index);
            }
         }
         m = m.NextMatch();
      }
   }
}
// This example displays the following output:
//       Match1
//       Group1='One'
//       Capture0='One', Position=0
//       Group2='car'
//       Capture0='car', Position=4
//       Match2
//       Group1='red'
//       Capture0='red', Position=8
//       Group2='car'
//       Capture0='car', Position=12
//       Match3
//       Group1='blue'
//       Capture0='blue', Position=16
//       Group2='car'
//       Capture0='car', Position=21
Match 有一个 Group 属性 Regex.Match 方法

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧