实例1:
using System;
using System.Text;
using System.Text.RegularExpressions;
class Test
{
public static void Main()
{
string str = "www.baidu.com";
string res = Regex.Replace(str, "^", "开始"); //用于搜索字符串,符合正则表达式的的情况然后把所有符合的位置全部替换
//^用于匹配开始的位置
Console.WriteLine(res);
string str2 = Regex.Replace(str, "$", "结束");
//$用于匹配结束的位置
Console.WriteLine(str2);
}
}
实例二:
using System;
using System.Text;
using System.Text.RegularExpressions;
class Test
{
public static void Main()
{
string str=Console.ReadLine();
//string match = @"^\d*$"; //定义一个正则表达式
//一数字开头,中间有0个或者若干数字,以数字结尾,$会去寻找最近的字符
string match = @"\d*"; //有0个或则若干个
bool ismatch = Regex.IsMatch(str, match); //判断是否符合正则表达式
//规则是只要match表示的是str的子集就可以
Console.WriteLine(ismatch);
}
}
说明:
字符 说明
. 匹配除换行符以外的任意字符
\w 匹配字母数字下划线,汉字(指大小写字母,0-9的数字,下划线)
\W \w的补集(除了大小写字母,0-9的数字,下划线以外的字符)
\s 匹配任意空白字符(包括换行符/n,回车符/r,制表符/t,垂直制表符/v,换页幅/f)
\S \s的补集
\d 匹配数字(0-9数字)
\D 表示\d的补集(除0-9数字以外)
\B 匹配不是单词开头或结束位置的
[abc] 匹配中括号中的字符(单个计算)
[^x] 匹配除了x以外的任意字符
[^adwz] 匹配除了adwz这几个字符以外的任意字符
实例三:
using System;
using System.Text;
using System.Text.RegularExpressions;
class Test
{
public static void Main()
{
string str = Console.ReadLine();
string match = @"[^nh]"; //除了n,h以外的字符
string s = Regex.Replace(str, match, "*"); //都被替换成*
Console.WriteLine(s);
}
}
重复描述字符
字符 说明
{n} 匹配前面的字符n次
{n,} 匹配前面的字符n次或多余n次
{n,m} 匹配前面的字符n到m次
? 重复零次或一次
+ 重复一次或更多次
* 重复零次或更多次
using System;
using System.Text;
using System.Text.RegularExpressions;
class Test
{
public static void Main()
{
string str = "12345";
string str2 = "123456791321";
string str3 = "a21466";
string match = @"^\d{5,12}$"; //匹配数字5到12位数
Console.WriteLine(Regex.IsMatch(str,match)); //匹配是否符合要求
Console.WriteLine(Regex.IsMatch(str2,match));
Console.WriteLine(Regex.IsMatch(str3,match));
}
}
字符 说明
| 将两个匹配条件进行逻辑“或”(Or)运算
using System;
using System.Text;
using System.Text.RegularExpressions;
class Test
{
public static void Main()
{
string str="asdf*$213";
string match = @"\d|[a-z]"; //找出里面所有的a-z字符或数字
MatchCollection matcher = Regex.Matches(str, match);
foreach(Match m in matcher)
Console.WriteLine(m);
}
}
using System;
using System.Text;
using System.Text.RegularExpressions;
class Test
{
public static void Main()
{
string str = "asdf;zxc,qwer.cxv";
string match = @"[;,.]"; //定义分割的字符
string[] res = Regex.Split(str, match); //对字符进行分割
foreach(string m in res)
Console.WriteLine(m);
}
}
c#中正则表达式实例学习
最新推荐文章于 2025-04-23 18:27:00 发布