.NET中的正则表达式(一)

时间:2022-11-11 15:53:32

一、主要的类

NET提供了一个System.Text.RegularExpression命名空间,包含了一些常用的操作和运用RegularExpression的对象,属性和方法。其中相当重要的有Regex,Match,Group,Capture等对象。

RegularExpression命名空间提供的类:

类                                           说明

Capture   表示单个子表达式捕获中的结果。Capture表示单个成功捕获中的一个子字符串。

CaptureCollection  表示一个捕获子字符串序列。CaptureCollection返回由单个捕获组执行的捕获的集合。

Group   Group表示单个捕获组的结果。由于存在数量词,一个捕获组可以在单个匹配中捕获零个、一个或更多的字符串,因此 Group 提供 Capture 对象的集合。

GroupCollection   表示捕获组的集合。GroupCollection返回单个匹配中的捕获组的集合。

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

MatchCollection   表示通过以迭代方式将正则表达式模式应用于输入字符串所找到的成功匹配的集合。

Regex  表示不可变的正则表达式。

RegexCompilationInfo   提供编译器用于将正则表达式编译为独立程序集的信息。

二、.NET中使用正则表达式的通用方法

(1)通过方法1

using System.Text.RegularExpressions;

// regular expression object

Regex re = new Regex(@"/w*@/w*/./w*", RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.Multiline | RegexOptions.RightToLeft);

// Match object

Match m = re.Match("ssss@1563.com");

// found or not

if( m.Success )

{

// found

}

else

{

// not found

}

(2)通过方法2

private static bool IsRegEx(string regExValue, string itemValue)

{

try

{

Regex regex = new System.Text.RegularExpressions.Regex(regExValue);

if (regex.IsMatch(itemValue))

return true;

else

return false;

}

catch (Exception)

{

return false;

}

}