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);

Regex.Match 方法的更多相关文章

  1. .net正则表达式大全(.net 的 System.Text.RegularExpressions.Regex.Match()方法使用)

    正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串.正则表达式无疑是处理文本最有力的工具,而.NET的System.dll类库提供的System.Text.RegularExpression ...

  2. 字符串中判断存在的几种模式和效率(string.contains、string.IndexOf、Regex.Match)

    通常情况下,我们判断一个字符串中是否存在某值常常会用string.contains,其实判断一个字符串中存在某值的方法有很多种,最常用的就是前述所说的string.contains,相对来说比较常用的 ...

  3. 1.3 正则表达式和python语言-1.3.4使用 match()方法匹配字符串

    1.3.4使用 match()方法匹配字符串(第一次写博客,格式,述语有不当之处还请见谅)2018-05-08 Python 代码是以Jupyter Notebook编写的,主要写的是python3的 ...

  4. 修改ZuulHandlerMapping私有变量pathMatcher,重写match方法,使url匹配兼容正则表达式。

    一.起源 在mocksever中引入了spring cloud zuul做代理转发,如果请求的url和配置的mock规则匹配(精确匹配和模糊匹配),忽略,不做转发.如果mock配置的url和请求url ...

  5. c# regex Match Matches MatchCollection 用法

    string text = "1A 2B 3C 4D 5E 6F 7G 8H 9I 10J 11Q 12J 13K 14L 15M 16N ffee80 #800080"; Reg ...

  6. 正则表达式中的exec和match方法的区别

    正则表达式中的exec和match方法的区别 字符串的正则方法有:match().replace().search().split() 正则对象的方法有:exec().test() 1.match m ...

  7. js的match()方法介绍

    定义和用法 match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配. 该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置. ...

  8. JS match() 方法 使用

    javascript中的match函数是使用正则表达式对字符串进行查找,并将查找的结果作为数组返回,在实际开发中非常的有用,使用方法如下: stringObj.match(rgExp) 其中strin ...

  9. 一款免费好用的正则表达式工具:Regex Match Tracer

    推荐分享:一款免费好用的正则表达式工具:Regex Match Tracer  v2.1.5  free version 下载地址:Regex Match Tracer

随机推荐

  1. Bootstrap 基本用法(续)

    在bootstrap中有很多的组件,这些组件可以帮组我们更快的写出一些好看的样式,下面就是一些样式: 导航框: <ul class="nav nav-tabs"> &l ...

  2. javascript事件代理(委托)

    之前有接触过事件代理,但是印象并不深刻.这次记下来加强印象. 用个大家比较常见的代码举例子: html dom结构: <ul id="ul1"> <li>0 ...

  3. Spring事务传递性探讨

    本篇主要讨论下面几点获取[下载地址]  : 一: Spring 事务的传递性介绍 二: 第三方调用含有事务的Service抛异常方法探讨 一: Spring 事务的传递性介绍 事务传播行为,所谓事务的 ...

  4. 关于使用AIDL出现空指针的解决办法

    使用AIDL进行远程调用的时候出现的空指针异常,解决过程稍微有点小曲折.具体安下 1.先贴异常信息 ERROR/AndroidRuntime(9435): FATAL EXCEPTION: main ...

  5. JS与C#编码解码

    escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@ ...

  6. 【学习笔记】【C语言】常量

    1. 什么是常量 常量,表示一些固定的数据 2. 常量的分类 1> 整型常量(int) 包括了所有的整数,比如6.27.109.256.-10.0.-289等 2> 浮点型常量(float ...

  7. 20150224—ASP.NET基础

    一.如何使用VS2012创建ASP.NET的项目. 文件-新建-网站 出现以下对话框,选择ASP.NET的空网站(注意,左侧使用的模板是Visual C#) 选择好存放位置,名字之后 点击确定.这样就 ...

  8. MYSQL序言

    我写MYSQL的文章主要的原因:我发现网上关于MYSQL的文章比较少,而且很多都是参差不齐,几乎找不到可以比较全面的介绍:例如一篇文章介绍如何增删改查,却没有介绍批量新增:于是下次工作中用到的时候又要 ...

  9. 9个超绚丽的HTML5 3D图片动画特效

    在Web 1.0时代,我们的网页中图片数量非常少,而且都是以静态图片为主.HTML5的出现,推动了Web 2.0的发展,同时也催生出了很多绚丽的HTML5图片动画特效,特别是有些还有3D的动画效果.本 ...

  10. HTML 5中的文件处理之FileAPI(转载)

    原文地址:http://developer.51cto.com/art/201202/319435.htm 在众多HTML5规范中,有一部分规范是跟文件处理有关的,在早期的浏览器技术中,处理小量字符串 ...