C#操作正则表达式(入门)

正则表达式在英文中写作(Regular Expression),根据正则表达式的使用范围和单词意思,.NET将其命名空间设置为System.Text.RegularExpressions

    在该命名空间内包括了8个基本的类:CaptureCaptureCollectionGroupGroupCollectionMatchMatchCollectionRegexRegexCompilationInfo

Capture

用于单个表达式捕获结果

CaptureCollection

用于一个序列进行字符串捕获

Group

表示单个捕获的结果

GroupCollection

表示捕获组的集会

Match

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

MatchCollection

表示通过迭代方式应用正则表达式到字符串中

Regex

表示不可变的正则表达式

RegexCompilationInfo

将编译正则表达式需要提供信息

[注意]本文属于初学正则表达式的入门文章,对于高级的分组(Group)及其涉及语法等在这里不做介绍

构造正则表达的方法

构造正则表达式需要涉及Regex类,在Regex类中包括:IsMatch()Replace()Split()Match的类

(1) IsMatch()方法;

    IsMatch()方法实际上是一个返回Bool值得方法,如果测试字符满足正则表达式返回True否则返回False

View Code
 1 static void Main(string[] args)
2 {
3 string str = Console.ReadLine();
4
5 string strRegex="^152\\d{8}$";
6
7 if (Regex.IsMatch(str, strRegex))
8 {
9 Console.WriteLine("格式正确:{0}", str);
10 }
11 else
12 {
13 Console.WriteLine("格式错误!");
14 }
15 Console.ReadKey();
16 }

(2) Replace()方法;

    Replace()方法实际上是一种替换的方法,替换匹配正则表达式匹配模式;

View Code
 1 string strRegex="\\w{1,}@\\w{1,}\\.\\w{1,}";
2
3 string str = Console.ReadLine();
4
5 if (Regex.IsMatch(str, strRegex))
6 {
7 Console.WriteLine(Regex.Replace(str, "@", "AT"));
8 }
9 else
10 {
11 Console.WriteLine("格式错误");
12 }

 

(3) Split()方法;

    Split()方法实际上是拆分的方法,根据匹配正则表达式进行拆分储存在字符串数组中;

    eg:群发电子邮件的时候使用

构建表达式基本方法

    构造Regex对象的构造函数包括两个重载,一个是不含参数的构造、另外一个是含有参数的构造函数;

    • 基本形式Regex(string pattern);

    • 重载形式Regex(string pattern,RegexOptions)

    补充:RegexOptions属于枚举类型,包括IgnoreCase(忽略大小写)ReghtToLeft(从右向左)None(默认)、CultureInvariant(忽略区域)Multline(多行模式)SingleLine(单行模式);

posted @ 2011-08-29 15:16  90后码农  阅读(1061)  评论(3编辑  收藏  举报