Match 类

 

Match

表示单个正则表达式匹配的结果。

由于单个匹配可能涉及多个捕获组,因此 Match 具有返回 GroupCollection  Groups 属性。GroupCollection 具有返回每个组的访问器。Match  Group继承,因此可以直接访问匹配的整个子字符串。也就是说,Match 实例自身等效于 Match.Groups[0](Visual Basic 中则为 Match.Groups(0))。Match 对象是不可变的,并且没有公共构造函数。

一、方法

名称

说明

Equals 

已重载。 确定两个 Object 实例是否相等。 (从 Object 继承。)

GetHashCode 

用作特定类型的哈希函数。GetHashCode 适合在哈希算法和数据结构(如哈希表)中使用。 (从 Object 继承。)

GetType 

获取当前实例的 Type。 (从 Object 继承。)

NextMatch

从上一个匹配结束的位置(即在上一个匹配字符之后的字符)开始返回一个包含下一个匹配结果的新 Match

ReferenceEquals 

确定指定的 Object 实例是否是相同的实例。 (从 Object 继承。)

Result

返回已传递的替换模式的扩展。例如,如果替换模式为 $1$2,则 Result 返回Groups[1].Value 和 Groups[2].Value(在 Visual Basic 中为 Groups[1].Value 和 Groups[2].Value)的串联。

Synchronized

已重载。 

ToString 

从输入字符串中获取捕获的子字符串。 (从 Capture 继承。)

二、属性

名称

说明

Captures 

按从里到外、从左到右的顺序获取由捕获组匹配的所有捕获的集合(如果正则表达式用RegexOptions.RightToLeft 选项修改了,则顺序为按从里到外、从右到左)。该集合可以有零个或更多的项。 (从 Group 继承。)

Empty

获取空组。所有失败的匹配都返回此空匹配。

Groups

获取由正则表达式匹配的组的集合。

Index 

原始字符串中发现捕获的子字符串的第一个字符的位置。 (从 Capture 继承。)

Length 

捕获的子字符串的长度。 (从 Capture 继承。)

Success 

获取一个值,该值指示匹配是否成功。 (从 Group 继承。)

Value 

从输入字符串中获取捕获的子字符串。 (从 Capture 继承。)

 

三、 示例

string text = "One car red car blue car";
string pat =@"(\w+)\s+(car)";
// Compile the regular expression.
Regex r =
newRegex(pat, RegexOptions.IgnoreCase);
// Match the regular expression patternagainst a text string.
Match m = r.Match(text);
intmatchCount = 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();
}

 

源文档 <http://msdn.microsoft.com/zh-cn/library/system.text.regularexpressions.match.nextmatch(VS.80).aspx>

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值