Regex.Match 方法

在输入字符串中搜索正则表达式的匹配项,并将精确结果作为单个 Match 对象返回。

重载列表
      (1) 在指定的输入字符串中搜索 Regex 构造函数中指定的正则表达式匹配项。

[C#] public Match Match(string);

(2) 从指定的输入字符串起始位置开始在输入字符串中搜索正则表达式匹配项。

[C#] public Match Match(string, int);

(3) 在指定的输入字符串中搜索 pattern 参数中提供的正则表达式的匹配项。

[C#] public static Match Match(string, string);

(4)   从指定的输入字符串起始位置开始在输入字符串中搜索具有指定输入字符串长度的正则表达式匹配项。

[C#] public Match Match(string, int, int);

(5)    在输入字符串中搜索 pattern 参数中提供的正则表达式的匹配项(匹配选项在 options 参数中提供)。

[C#] public static Match Match(string, string, RegexOptions);

二、应用举例

1.下面的代码是为了取出网页中的Title属性

Match TitleMatch =
Regex.Match(fileContents, "<title>([^<]*)</title>",
RegexOptions.IgnoreCase | RegexOptions.Multiline );

].Value;

注意红色的1, Regex.Match方法得到的Groups的索引是从1开始的,而不是从0开始的

2. 下面的代码是为了取出网页头部的"Content"属性

Match DescriptionMatch =
Regex.Match( fileContents, "<META NAME=\"DESCRIPTION\"
CONTENT=\"([^<]*)\">", RegexOptions.IgnoreCase |
RegexOptions.Multiline );
              filedesc = DescriptionMatch.Groups[1].Value;

3. 下面的代码用来分解一个字符串

string text = "One car red car blue car";
   string pat = @"(\w+)\s+(car)";
   // Compile the regular expression.
   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)
   {
    Response.Write("Match"+ (++matchCount) + "<br>");
    for (int i = 1; i <= 2; i++)
    {
     Group g = m.Groups[i];
     Response.Write("Group"+i+"='" + g + "'" + "<br>" );
     CaptureCollection cc = g.Captures;
     for (int j = 0; j < cc.Count; j++)
     {
      Capture c = cc[j];
      Response.Write("Capture"+j+"='" + c + "', Position="+c.Index + "<br>");
     }
    }
    m = m.NextMatch();
   }

运行结果如下:

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

string str = @"<tr style='HEIGHT: 24.55pt'>
  <td style='WIDTH: 149px' valign='top' width='78' bgcolor='#eaeaea'>
    <b>楼盘地址</b>
  </td>
  <td valign='top' colspan='3'>
    <input id='textfield' title='楼盘地址' style='WIDTH: 231px; HEIGHT: 28px' size='9' value='星河湾荟心园7栋3座302' name='楼盘地址'>
  </td>
  <td style='WIDTH: 121px' valign='top' width='78' bgcolor='#eaeaea'>
    <b>成交日期</b>
  </td>
  <td style='WIDTH: 140px' valign='top' width='238'>
    <input id='textfield' title='客源号' style='WIDTH: 95px; HEIGHT: 28px' value='2010.9.25' name='客源号'>
  </td>
</tr>";
        string str2= Regex.Match(str, "<input id='textfield' .*>?").ToString();
        string str3 = Regex.Match(str2, "value='.*?'").ToString();
        Response.Write(str3);

最新文章

  1. AJAX总结
  2. 实验一 cmd命令的编写
  3. Lookup 组件异常
  4. 实体类的枚举属性--原来支持枚举类型这么简单,没有EF5.0也可以
  5. python os.path.dirname 是什么目录
  6. java获取短uuid
  7. 【Android】Eclipse Memory Analyzer 进行堆内存溢出分析
  8. linux下MYSQL备份与恢复
  9. gcc编译代码报错及编译方式
  10. WPF自定义DataGrid分页控件
  11. HBuilder开发app ajax跨域 解决XMLHttpRequest
  12. WITH AS
  13. 转载:Linux Used内存到底到哪里去了?
  14. C#多线程和线程同步总结
  15. PAT1105:Spiral Matrix
  16. AntZipUtils【基于Ant的Zip压缩解压缩工具类】
  17. Linux内核入门到放弃-虚拟文件系统-《深入Linux内核架构》笔记
  18. Dungeon Master (广搜)
  19. 涨姿势:深入 foreach循环
  20. 使用Groovy+Spock构建可配置的订单搜索接口测试用例集

热门文章

  1. Centos下LAMP环境搭建
  2. 将java项目打包成jar文件并在cmd运行
  3. 【转】K3Cloud 二次开发 单据转换系列
  4. js中关于原型的几个方法
  5. WCF之Host宿主
  6. HashMap 读后感
  7. ubuntu下安装 Source insight
  8. WP开发笔记——控件倾斜效果
  9. linux 网桥的配置与实现
  10. 使用ANT 生成Xfire 客户端端文件