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

作者:生产队的驴. 时间:2023-11-26 12:51:00 

先看英文意思

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

命名空间

using System.Text.RegularExpressions;

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

简单来说就是 检索 数据

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

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

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

在编程里还是比较重要的

简单了解后开始教程

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

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

1.读取文本内容

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

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

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

2.创建正则表达式

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

匹配规则是什么?

就是你需要的哪一些数据

比如我只需要数字 [\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.输出匹配好的内容

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

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

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

运行效果:

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

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

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

补充: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();
}

来源:https://blog.csdn.net/dpc5201314/article/details/117577098

标签:正则表达式,regex,过滤
0
投稿

猜你喜欢

  • 基于XML配置Spring的自动装配过程解析

    2023-02-28 00:42:12
  • Java doGet, doPost方法和文件上传实例代码

    2023-01-19 03:24:19
  • SpringMVC 域对象共享数据的实现示例

    2021-07-18 15:45:57
  • C#/VB.NET实现PPT或PPTX转换为图像功能

    2023-01-25 05:14:37
  • Android startActivityForResult实例详解

    2021-07-18 00:50:33
  • Android编程开发之EditText中inputType属性小结

    2022-04-13 10:03:11
  • Java虚拟机内存结构及编码实战分享

    2023-11-29 13:47:47
  • 使用java执行定时任务示例

    2022-09-16 21:23:22
  • C#微信公众号开发之接收事件推送与消息排重的方法

    2022-01-31 08:44:46
  • Jackson序列化和反序列化忽略字段操作

    2022-08-29 14:01:14
  • Android自定义Dialog实现加载对话框效果

    2022-04-19 12:16:06
  • C++实现LeetCode(159.最多有两个不同字符的最长子串)

    2023-06-20 22:39:46
  • Java导出Execl疑难点处理的实现

    2021-09-18 12:55:11
  • c#裁剪图片后使用zxing生成二维码示例分享

    2021-09-08 17:06:58
  • C#图像处理之木刻效果实现方法

    2022-05-20 04:28:13
  • Spring Cloud Gateway网关XSS过滤方式

    2021-08-07 13:16:53
  • java判断String类型是否能转换为int的方法

    2022-08-17 23:45:52
  • 21天学习android开发教程之SurfaceView与多线程的混搭

    2021-07-22 05:25:09
  • 解决java main函数中的args数组传值问题

    2021-06-24 12:46:13
  • 基于SpringBoot多线程@Async的使用体验

    2021-07-15 04:47:04
  • asp之家 软件编程 m.aspxhome.com