正则表达式

首先书写文章之前说明:本篇不对什么是正则表达式做过多赘述,注重强调用法。

学习前置条件:了解元字符,@字符。

正则表达式

所能解决的问题

1)检索:通过正则表达式,从字符串中获取我们想要的部分。
2)判断给定的字符串是否符合正则表达式的过滤逻辑。
//可以理解为作为我们用于登录系统账号密码设置规则的遵守道具和判断方法。

常规操作正则表达式的方法和委托

位于System.Text.RegularExpreessions下的Regex类的静态方法和委托

1)静态方法IsMatch

返回值:bool
作用:判断指定字符是否与所指定的正则表达式字符串匹配。
有三个重载:
bool IsMatch(string input,string pattern)
参数:

input:要搜索匹配的字符串

pattern:要作为匹配标准的正则表达式

返回结果:如果匹配则返回true;否则,为false

bool IsMatch(string input, string pattern, RegexOptions options)
参数:

input:要搜索匹配的字符串

pattern:要作为匹配标准的正则表达式

options: 枚举值的一个按位组合,这些枚举值提供匹配选项

返回结果:如果匹配则返回true;否则,为false

bool IsMatch(string input, string pattern, RegexOptions options, TimeSpan match Timeout)
参数:

input:要搜索匹配的字符串

pattern:要作为匹配标准的正则表达式

options: 枚举值的一个按位组合,这些的枚举值提供匹配选项

matchTimeout:超过间隔,或System.Text.RegularExpressions.Regex.InfiniteMatchTimeout 指示该方法不应超时

返回结果:如果匹配则返回true;否则,为false

2)静态方法Match

返回值:一个包含有关匹配的信息的对象
作用:使用指定的匹配选项在输入字符串中搜索指定的正则表达式的一个匹配项。
有三个重载:
Match Match(string input,string pattern)
参数:

input:要搜索匹配的字符串

pattern:要作为匹配标准的正则表达式

返回结果:如果匹配则返回true;否则,为false

Match Match(string input, string pattern, RegexOptions options)
参数:

input:要搜索匹配的字符串

pattern:要作为匹配标准的正则表达式

options: 枚举值的一个按位组合,这些枚举值提供匹配选项

返回结果:如果匹配则返回true;否则,为false

Match Match(string input, string pattern, RegexOptions options, TimeSpan match Timeout)
参数:

input:要搜索匹配的字符串

pattern:要作为匹配标准的正则表达式

options: 枚举值的一个按位组合,这些的枚举值提供匹配选项

matchTimeout:超过间隔,或System.Text.RegularExpressions.Regex.InfiniteMatchTimeout 指示该方法不应超时

返回结果:如果匹配则返回true;否则,为false

3)静态方法Matches

返回值:bool
作用:在指定的输入字符串中搜索指定的正则表达式的所有匹配项。
有三个重载:
MatchCollection Matches(string input,string pattern)
参数:

input:要搜索匹配的字符串

pattern:要作为匹配标准的正则表达式

返回结果:如果匹配则返回true;否则,为false

MatchCollection Matches(string input, string pattern, RegexOptions options)
参数:

input:要搜索匹配的字符串

pattern:要作为匹配标准的正则表达式

options: 枚举值的一个按位组合,这些枚举值提供匹配选项

返回结果:如果匹配则返回true;否则,为false

MatchCollection Matches(string input, string pattern, RegexOptions options, TimeSpan match Timeout)
参数:

input:要搜索匹配的字符串

pattern:要作为匹配标准的正则表达式

options: 枚举值的一个按位组合,这些的枚举值提供匹配选项

matchTimeout:超过间隔,或System.Text.RegularExpressions.Regex.InfiniteMatchTimeout 指示该方法不应超时

返回结果:如果匹配则返回true;否则,为false

检索字符串中符合条件的字符并一一输出

	string s = "34()%^asjd阿斯顿";
	string pattern = @"\d|[a-z]";//检索只要是数字或者字母的字符
	
	MatchCollection col = Regex.Matches(s, pattern);
	foreach(Match match in col)
	{
		Console.WriteLine("match.ToString()");//调用ToString方法可以将蒋所到的字符输出。
	}
	
	Console.ReadKey();
4)Replaces函数

Replace(string input, string pattern, string replacement)

input:要搜索匹配的字符串

pattern:要作为匹配标准的正则表达式

replacement: 作为替换值替换匹配的字符

Replace(string input, string pattern, string replacement)

input:要搜索匹配的字符串

pattern:要作为匹配标准的正则表达式

replacement: 作为替换值替换匹配的字符

options: 枚举值的一个按位组合,这些的枚举值提供匹配选项

//关于枚举值的阐述:可以用来指定是否忽略大小写。

5)静态方法Split拆分文本

使用正则表达式匹配的位置,将文本拆分为一个字符串数组,同样有三个重载方法,返回值为字符串数组

string[] Split(string input, string pattern);

string[] Split(string input, string pattern, RegexOptions options);

string[] Split(string input, string pattern, RegexOptions options, TimeSpan matchTimeout);

例子:

	string s = Console.ReadLine();

	//如若要实现输入字符串只有数字的判断,那么
	string pattern = @"^\d*$";//此正则表达式的含义为:从字符串的头部至尾部,有且只有0~9的数字字符,不允许有其他种字符存在。
	bool IsMatch = Regex.IsMatch(s, pattern);//启动正则表达式进行字符串的匹配判断。

	Console.WriteLine(IsMatch);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值