千家信息网

C#正则表达式的定位字符怎么使用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"C#正则表达式的定位字符怎么使用",在日常操作中,相信很多人在C#正则表达式的定位字符怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C#正则表
千家信息网最后更新 2026年11月02日C#正则表达式的定位字符怎么使用

这篇文章主要介绍"C#正则表达式的定位字符怎么使用",在日常操作中,相信很多人在C#正则表达式的定位字符怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C#正则表达式的定位字符怎么使用"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1."@"符号符下两ows表研究室的火热,当晨在"@"虽然并非C#正则表达式的"成员",但是它经常与C#正则表达式出双入对。"@"表示,跟在它后面的字符串是个"逐字字符串",不是很好理解,举个例子,以下两个声明是等效的:string x="D:\\My Huang\\My Doc";string y = @"D:\My Huang\My Doc";事实上,如果按如下声明,C#将会报错,因为"\"在C#中用于实现转义,如"\n"换行:string x = "D:\My Huang\My Doc";

2.基本的语法字符。

\d 0-9的数字\D \d的补集(以所以字符为全集,下同.,即所有非数字的字符\w 单词字符,指大小写字母、0-9的数字、下划线\W \w的补集\s 空白字符,包括换行符\n、回车符\r、制表符\t、垂直制表符\v、换页符\f \S \s的补集。 除换行符\n外的任意字符[…] 匹配[]内所列出的所有字符[^…] 匹配非[]内所列出的字符下面提供一些简单的示例:

string i = "\n";  string m = "3";  Regex r = new Regex(@"\D");  //同Regex r = new Regex("\\D");  //r.IsMatch(i)结果:true  //r.IsMatch(m)结果:false   string i = "%";  string m = "3";  Regex r = new Regex("[a-z0-9]");  //匹配小写字母或数字字符  //r.IsMatch(i)结果:false  //r.IsMatch(m)结果:true

3.定位字符"定位字符"所代表的是一个虚的字符,它代表一个位置,你也可以直观地认为"定位字符"所代表的是某个字符与字符间的那个微小间隙。

^表示其后的字符必须位于字符串的开始处$ 表示其前面的字符必须位于字符串的结束处\b 匹配一个单词的边界\B 匹配一个非单词的边界另外,还包括:\A 前面的字符必须位于字符处的开始处,\z 前面的字符必须位于字符串的结束处,\Z 前面的字符必须位于字符串的结束处,或者位于换行符前下面提供一些简单的示例:

  1. string i = "Live for nothing,die for something";

  2. Regex r1 = new Regex("^Live for nothing,die for something$");

  3. //r1.IsMatch(i) true

  4. Regex r2 = new Regex("^Live for nothing,die for some$");

  5. //r2.IsMatch(i) false

  6. Regex r3 = new Regex("^Live for nothing,die for some");

  7. //r3.IsMatch(i) true

  8. string i = @"Live for nothing,

  9. die for something";//多行

  10. Regex r1 = new Regex("^Live for nothing,die for something$");

  11. Console.WriteLine("r1 match count:" + r1.Matches(i).Count);//0

  12. Regex r2 = new Regex("^Live for nothing,die for something$",
    RegexOptions.Multiline);

  13. Console.WriteLine("r2 match count:" + r2.Matches(i).Count);//0

  14. Regex r3 = new Regex("^Live for nothing,\r\ndie for something$");

  15. Console.WriteLine("r3 match count:" + r3.Matches(i).Count);//1

  16. Regex r4 = new Regex("^Live for nothing,$");

  17. Console.WriteLine("r4 match count:" + r4.Matches(i).Count);//0

  18. Regex r5 = new Regex("^Live for nothing,$", RegexOptions.Multiline);

  19. Console.WriteLine("r5 match count:" + r5.Matches(i).Count);//0

  20. Regex r6 = new Regex("^Live for nothing,\r\n$");

  21. Console.WriteLine("r6 match count:" + r6.Matches(i).Count);//0

  22. Regex r7 = new Regex("^Live for nothing,\r\n$", RegexOptions.Multiline);

  23. Console.WriteLine("r7 match count:" + r7.Matches(i).Count);//0

  24. Regex r8 = new Regex("^Live for nothing,\r$");

  25. Console.WriteLine("r8 match count:" + r8.Matches(i).Count);//0

  26. Regex r9 = new Regex("^Live for nothing,\r$", RegexOptions.Multiline);

  27. Console.WriteLine("r9 match count:" + r9.Matches(i).Count);//1

  28. Regex r10 = new Regex("^die for something$");

  29. Console.WriteLine("r10 match count:" + r10.Matches(i).Count);//0

  30. Regex r11 = new Regex("^die for something$", RegexOptions.Multiline);

  31. Console.WriteLine("r11 match count:" + r11.Matches(i).Count);//1

  32. Regex r12 = new Regex("^");

  33. Console.WriteLine("r12 match count:" + r12.Matches(i).Count);//1

  34. Regex r13 = new Regex("$");

  35. Console.WriteLine("r13 match count:" + r13.Matches(i).Count);//1

  36. Regex r14 = new Regex("^", RegexOptions.Multiline);

  37. Console.WriteLine("r14 match count:" + r14.Matches(i).Count);//2

  38. Regex r15 = new Regex("$", RegexOptions.Multiline);

  39. Console.WriteLine("r15 match count:" + r15.Matches(i).Count);//2

  40. Regex r16 = new Regex("^Live for nothing,\r$\n^die for something$",
    RegexOptions.Multiline);

  41. Console.WriteLine("r16 match count:" + r16.Matches(i).Count);//1

  42. //对于一个多行字符串,在设置了Multiline选项之后,^和$将出现多次匹配。

  43. string i = "Live for nothing,die for something";

  44. string m = "Live for nothing,die for some thing";

  45. Regex r1 = new Regex(@"\bthing\b");

  46. Console.WriteLine("r1 match count:" + r1.Matches(i).Count);//0

  47. Regex r2 = new Regex(@"thing\b");

  48. Console.WriteLine("r2 match count:" + r2.Matches(i).Count);//2

  49. Regex r3 = new Regex(@"\bthing\b");

  50. Console.WriteLine("r3 match count:" + r3.Matches(m).Count);//1

  51. Regex r4 = new Regex(@"\bfor something\b");

  52. Console.WriteLine("r4 match count:" + r4.Matches(i).Count);//1

  53. //\b通常用于约束一个完整的单词

到此,关于"C#正则表达式的定位字符怎么使用"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

字符 C# 定位 字符串 正则 表达式 单词 数字 结果 学习 代表 换行符 制表符 字母 更多 示例 边界 多行 制表 帮助 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网 中国互联网科技工作委员会毛军 科技创新与互联网经济 互联网科技有限公司经营范围 圆梦互联网科技 互联网巨头反垄断金融科技 重庆互联网络科技 南京欣网互联网科技 互联网科技上市公司 亿账通互联网科技 四个字互联网科技公司取名 荆州市昕露互联网络科技有限公司 科技互联网的核心竞争力 上海京穆互联网科技有限公司 互联网界的黑科技 中国科技和美国互联网 科技信息时代互联网发展 北京品多多互联网科技有限公司 上海互联网科技园景观 北京瑞云互联网科技有限公司 互联网科技公司排名 有马互联网科技 睿民互联网科技 小米互联网科技园设置 金融科技与互联网金融相同和不同 山东星卡互联网科技有限公司官网 云南省自由互联网科技有限公司 宁波跨境商互联网科技有限公司 互联网科技平台产品运营 高科技和互联网的现代国家
0