本文主要是介绍Match类和MatchCollection类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《C#字符串与正则表达式参考手册》学习笔记之Match类和MatchCollection类
利用Match类和MatchCollection类,可以获得通过一个正则表达式实现的每一个匹配的细节。Match表示一次匹配,而MatchCollection类是一个Match对象的集合,其中的每一个对象都表示了一次成功的匹配。
我们可以使用Regex对象的Match()方法和Matches()方法来检索匹配。
1.Match()方法
前三种方法是实例方法,后两种是静态方法,所有方法都返回一个Match对象,其中包含了匹配的各种细节!注意:Match()对象只代表实现的第一次匹配,而不是所有的匹配!区别于Matches()!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;namespace Regular
{class Program{static void Main(string[] args){string inStr = "sea sem seg,word,love,sed";Regex myRegex=new Regex("se.");Match myMatch = myRegex.Match(inStr, 4);while (myMatch.Success){//MessageBox.Show(myMatch.Value);Console.WriteLine(myMatch.Value);myMatch = myMatch.NextMatch();}Console.ReadKey();}}
}
2.MatchCollection()方法
使用Regex.Matches()方法,可以得到MathCollection对象的一个引用。这个集合类中包含分别代表每一次正则表达式匹配的Match对象。在处理多匹配时尤其有用,而且可以代替Match.NextMatch()方法。
MatchCollection类有两个有用的属性Count和Item。Count返回匹配的次数,Item允许通过下表访问每一个Match对象!
//
// _oo0oo_
// o8888888o
// 88" . "88
// (| -_- |)
// 0\ = /0
// ___/`---'\___
// .' \\| |// '.
// / \\||| : |||// \
// / _||||| -:- |||||- \
// | | \\\ - /// | |
// | \_| ''\---/'' |_/ |
// \ .-\__ '-' ___/-. /
// ___'. .' /--.--\ `. .'___
// ."" '< `.___\_<|>_/___.' >' "".
// | | : `- \`.;`\ _ /`;.`/ - ` : | |
// \ \ `_. \_ __\ /__ _/ .-` / /
// =====`-.____`.___ \_____/___.-`___.-'=====
// `=---='
//
//
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// 佛祖保佑 永无BUG
//
//
这篇关于Match类和MatchCollection类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!