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

2022-11-13 14:11:52 内容 过滤 使用方法

先看英文意思

命名空间

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过滤内容内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关文章