C#中正则表达式(Regex)过滤内容的基本使用方法

先看英文意思

 

命名空间

using System.Text.RegularExpressions;

正则表达式是干什么用的?

简单来说就是 检索 数据

个人比较喜欢用来过滤一些文本的内容和网页

比如我有100w个文字想找到里面的几个数字用人工一个一个查找基本不可能

但是使用正则表达式就可以在马上找到

在编程里还是比较重要的

 

简单了解后开始教程

比如有一个记事本内容 要找出里面的5个数字 分别是 2 4 8 9 6

 

1.读取文本内容

上面说的打开 并不是把文件打开 而是将文件打开在 缓冲区 才可以进行读和写的操作 下面粗略画了个图更好理解

 

2.创建正则表达式

匹配规则是什么?

就是你需要的哪一些数据

比如我只需要数字 [\d]或者[0-9]

就是那么简单

下面是匹配规则(部分)

“ ^ ” 符号意思 :这个是一个排除的符号哦 如果不需要就在前面加一个这个符号即可 如 [^0-9] 不需要0-9的数字

大小写区别 :小写是需要 大写 是排除

  • [\d] :只需要0-9的数字
  • [\D] :不需要0-9的数字
  • [^\d] :除了数字其他内容都需要**
  • [\w]:只需要英文字母a-z A-Z 0-9 汉字
  • [\D]:不需要英文字母a-z A-Z 0-9 汉字
  • [a-c]:只需要a-c的单词 当然也是可以a-l 等等
  • [^a-c]:不需要a-c的单词 当然也是可以a-l 等等
  • [a|b]:只需要a或b

因为我只需要拿到里面的数字所以直接使用 [\d]

 

3.输出匹配好的内容

温馨提示:循环里如果不知道数据类型 可以用var 代替哦

var:不知道数据类型的情况下 使用 ,出的是string类型 那他就是 string类型 出来是int 就是int类型 非常好用

运行效果:

简单粗暴 只需要几行代码就把想要的内容拿下来了

以后处理一些数据还是很好用的 当然上面说的都是基础

 

补充:C#正则表达式筛选去掉不符合的字符

如下举例筛选str字符串中非十六进制字符,得到新的目标字符串strRet;

string str = "abcdsefghias12321312";//需要筛选的目标字符串
string pattern = "[A-Fa-f0-9]";//表示十六进制字符
string strRet = "";
MatchCollection results = Regex.Matches(str, pattern);
foreach (var v in results)
{
     strRet += v.ToString();
}

 

总结

关于C#中正则表达式(Regex)过滤内容的基本使用的文章就介绍至此,更多相关C#正则表达式Regex过滤内容内容请搜索编程宝库以前的文章,希望以后支持编程宝库

WPF 实现抽屉菜单框架使用大于等于.NET40;Visual Studio 2022;项目使用MIT开源许可协议;更多效果可以通过GitHub[1]|码云[2]下载代码;由于在WPF中没有现成的类似UWP ...