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. [转]美国的软件公司是什么样?---- 以Fog Creek为例

    作者: 阮一峰 日期: 2009年2月15日 Joel写过一篇文章,关于软件公司如何雇到优秀的程序员. 他说,软件公司的头等大事,就是找到第一流的人才.不同于其他行业,软件是一种纯智力产品,你有什么样 ...

  2. 二十一、Android上常见度量单位【xdpi、hdpi、mdpi、ldpi】解读

    术语和概念 屏幕尺寸 屏幕的物理尺寸,以屏幕的对角线长度作为依据(比如 2.8寸, 3.5寸). 简而言之, Android把所有的屏幕尺寸简化为三大类:大,正常,和小. 程序可以针对这三种尺寸的屏幕 ...

  3. js 倒计时 button不可用

    function showtime() { fun_timedown(5); } function fun_timedown(time) { $("#timedown").val( ...

  4. BeanDefinition的载入和解析

    1.在完成对代表BeanDefinition的Resource定位的分析后,下面来了解整个BeanDefinition信息的载入过程. 2.对IoC容器来说,这个载入过程,相当于把定义的BeanDef ...

  5. ARM你必须知道的事儿——为啥“PC = PC + 8”?

    为啥是“PC = PC + 8”: “PC = PC + 8”其实这样写容易让人蒙了.“PC = PC + 8”真正含义应该是: 执行处代码地址 = PC - 8: 也就是说,”PC指向的地址“领先“ ...

  6. JavaScript之字符串

    一.声明方式 1. 直接赋值 var str = 'hello javascript'; 2. 构造函数 var str2 = new String('hello world'); 这两种有什么区别呢 ...

  7. F. Music in Car

    田园将芜胡不归?既自以心为形役,奚惆怅而独悲?悟已往之不谏,知来者之可追.实迷途其未远,觉今是而昨非. 题目链接http://codeforces.com/contest/746/problem/F ...

  8. how to debug thread cpu 100%

    when we write a program, cpu and memory usages are very important to indicate the stability of the p ...

  9. 【风马一族_Java】在某个范围内,找出具有水仙花特征的数字

    打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如: 153是一个"水仙花数",因为153=1的三 ...

  10. 5.servlet cookie自动登录的实例

    1.要建的文档,.java用servlet创建 2.建一张登陆表格 index.jsp <%@ page language="java" import="java. ...