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

目录
  • 命名空间
  • 简单了解后开始教程
  • 1.读取文本内容
  • 2.创建正则表达式
  • 3.输出匹配好的内容
  • 补充:C#正则表达式筛选去掉不符合的字符
  • 总结

先看英文意思

命名空间

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

(0)

相关推荐

  • 详解C#正则表达式Regex常用匹配

    使用Regex类需要引用命名空间:using System.Text.RegularExpressions; 一.利用Regex类实现验证 示例1:注释的代码所起的作用是相同的,不过一个是静态方法,一个是实例方法 var source = "刘备关羽张飞孙权何问起"; //Regex regex = new Regex("孙权"); //if (regex.IsMatch(source)) //{ // Console.WriteLine("字符串中包含有

  • C#正则表达式Regex类用法实例分析

    本文实例讲述了C#正则表达式Regex类用法,分享给大家供大家参考.具体实现方法如下: 一.在C#中,要使用正则表达式类,请在源文件开头处添加以下语句: 复制代码 代码如下: using System.Text.RegularExpressions; 二.RegEx类常用的方法 1.静态Match方法 使用静态Match方法,可以得到源中第一个匹配模式的连续子串. 静态的Match方法有2个重载,分别是 复制代码 代码如下: Regex.Match(string input, string pa

  • C#正则表达式Regex类的用法

    一.C#正则表达式符号模式 字 符 描 述 \ 转义字符,将一个具有特殊功能的字符转义为一个普通字符,或反过来 ^ 匹配输入字符串的开始位置 $ 匹配输入字符串的结束位置 * 匹配前面的零次或多次的子表达式 + 匹配前面的一次或多次的子表达式 ? 匹配前面的零次或一次的子表达式 {n} n是一个非负整数,匹配前面的n次子表达式 {n,} n是一个非负整数,至少匹配前面的n次子表达式 {n,m} m和n均为非负整数,其中n<=m,最少匹配n次且最多匹配m次 ? 当该字符紧跟在其他限制符(*,+,?

  • C#的正则表达式Regex类使用简明教程

    C#中为正则表达式的使用提供了非常强大的功能,这就是Regex类.这个包包含于System.Text.RegularExpressions命名空间下面,而这个命名空间所在DLL基本上在所有的项目模板中都不需要单独去添加引用,可以直接使用. 1.定义一个Regex类的实例 复制代码 代码如下: Regex regex = new Regex(@"\d"); 这里的初始化参数就是一个正则表达式,"\d"表示配置数字. 2.判断是否匹配 判断一个字符串,是否匹配一个正则表

  • C#正则表达式之Regex类用法详解

    Regex 类表示不可变(只读)的正则表达式.它还包含各种静态方法,允许在不显式创建其他类的实例的情况下使用其他正则表达式类. 正则表达式基础概述 什么是正则表达式 在编写字符串的处理程序时,经常会有查找符合某些复杂规则的字符串的需要.正则表达式就是用于描述这些规则的工具.换句话说,正则表达式就是记录文本规则的代码. 通常,我们在使用WINDOWS查找文件时,会使用通配符(*和?).如果你想查找某个目录下的所有Word文档时,你就可以使用*.doc进行查找,在这里,*就被解释为任意字符串.和通配

  • C#正则表达式Regex类的常用匹配

    使用Regex类需要引用命名空间:using System.Text.RegularExpressions; 利用Regex类实现验证 示例1:注释的代码所起的作用是相同的,不过一个是静态方法,一个是实例方法 var source = "刘备关羽张飞孙权何问起"; //Regex regex = new Regex("孙权"); //if (regex.IsMatch(source)) //{ // Console.WriteLine("字符串中包含有敏感

  • C#正则表达式Regex用法详解

    目录 一.正则表达式应用举例 1.C#校验合法性: 2.C#限制输入 3.正则表达式匹配闭合HTML标签(支持嵌套) 1.分组构造 2.举例: 二..Net正则表达式测试器 1.功能简介 2.下载与安装 3.界面截图 三..NET正则表达式Regex 1.IsMatch(Input,patter[,options]) 否则匹配 1.正则表达式选项:RegexOptions 2.内联标志 2.Match(Input,patter[,options]) 单个匹配 3.Matches(Input,pa

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

    目录 命名空间 简单了解后开始教程 1.读取文本内容 2.创建正则表达式 3.输出匹配好的内容 补充:C#正则表达式筛选去掉不符合的字符 总结 先看英文意思 命名空间 using System.Text.RegularExpressions; 正则表达式是干什么用的? 简单来说就是 检索 数据 个人比较喜欢用来过滤一些文本的内容和网页 比如我有100w个文字想找到里面的几个数字用人工一个一个查找基本不可能 但是使用正则表达式就可以在马上找到 在编程里还是比较重要的 简单了解后开始教程 比如有一个

  • vue中el-table格式化el-table-column内容的三种方法

    目录 el-table格式化el-table-column内容 一.template scope .v-if判断 二.利用formatter.slot属性 三.但这些对我当前的情况,并不适用.所以,后来发现一个好方法.将两种方法结合起来,使用slot,自定义 formatter.(自定义)灵活应用就好啦 博文参考: el-table格式化el-table-column内容 遇到一个需求,一个循环展示的table中的某项,或者某几项需要格式化.对于格式化的方法,主要有template scope.

  • JS中正则表达式全局匹配正斜杠的方法

    目录 JS中正则表达式全局匹配正斜杠 正则表达式 修饰词: 换行符 补充:正则表达式如何匹配正反斜杠 反斜杠的麻烦 执行匹配 JS中正则表达式全局匹配正斜杠 正则表达式 语法: 必须写在两个反斜线之间 / 要匹配的规定/: 列如: var 变量名 = / 要匹配的规定/; 2.开头以 ^ 这个符号开头表示以什么开头 列如:/^1/ 表示以1开头 3.结尾以 $ 符号结束表示以什么结束 列如:/ 0$/ 以0结束 4.正则表达式后面跟字母的: 列如:/ /i; 不区分大小写 列如:/ / g 执行

  • Delphi实现Listbox中的item根据内容显示不同颜色的方法

    本文简述了Delphi实现Listbox中的item根据内容显示不同颜色的方法,实现步骤如下: ListBox1 的 Style 属性改为 lbOwnerDrawVariable 在ListBox的OnDrawItem事件裡,根据item的值,改变Canvas属性 示例代码如下: procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);

  • Access中批量替换数据库内容的两种方法

    今天遇到一个问题,一Access数据库中存放着N条文章记录,现在想替换掉这些文章中的部分内容,我们首先想到的是到网站后台去一条一条修改文章,那如果有1000篇文章,那就在网站后台改1000次,难以想象这是什么样的工作量.其实在Access数据库中可以利用SQL语句来批量替换内容,只需一句话就能解决问题,下面通过两种方法来解决此问题. 方法一:通过Access数据库中的查询分析器来修改(这里我使用的是Access 2003) 1.打开需要修改的Access数据库 2.在数据库"对象"中点

  • PHP中正则表达式对UNICODE字符码的匹配方法

    网友ainiaa的问题是 PHP代码如下 复制代码 代码如下: $words = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSRUVWXYZ!@#$%^&*()_+-=[]\\,./{}|<>?'\"你好啊我们"; $otherStr=preg_replace("/[chr(128)-chr(256)]+/is"," ",$words); echo

  • 解决微信小程序云开发中获取数据库的内容为空的方法

    问题描述: 在前端想获取数据库某集合中的数据时,返回的参数data始终为空数组,如下: 相关代码如下: const db = wx.cloud.database(); const activityInfo = db.collection('activityInfo'); Page({ ...省略不相干代码... onLoad(){ activityInfo.get().then((res)=>{ console.log(res) }) } ...省略不相干代码... }) 解决方案: 数据库新建

  • Jmeter中正则表达式提取器使用详解

    目录 在使用Jmeter过程中,会经常使用到正则表达式提取器提取器,虽然并不直接涉及到请求的测试,但是对于数据的传递起着很大的作用,本篇博文就是主要讲解关于正则表达式及其在Jmeter的Sampler中的调用. 一.首先来介绍一下Jmeter中正则表达式提取器的元素组成,下图所示: 下面是各参数值的含义: 参数 释义 引用名称 在HTTP等请求中,引用此数据,需要用到的名称 正则表达式 用于将需要的数据提取出来 模板 表示使用提取到的第几个值: $1$:表示取第1个 $2$:表示取第二个 以此类

  • 在pyqt5中QLineEdit里面的内容回车发送的实例

    在PyQt5中QLineEdit里面的内容回车发送的方法是和PyQt4中不同的,主要是信号槽的写法的改变导致的. 具体不同如下: 在PyQt4中,我们要进行回车发送的时候,一般这么写: self.connect(self.lineEdit, SIGNAL("returnPressed()"), self.lineEdit_function) 但是在PyQt5中,写法有所改变,一般这么写: self.lineEdit.returnPressed.connect(self.lineEdit

  • JAVA过滤标签实现将html内容转换为文本的方法示例

    本文实例讲述了JAVA过滤标签实现将html内容转换为文本的方法.分享给大家供大家参考,具体如下: /** * 把html内容转为文本 * @param html 需要处理的html文本 * @param filterTags 需要保留的html标签样式 * @return */ public static String trimHtml2Txt(String html, String[] filterTags){ html = html.replaceAll("\\<head>[\

随机推荐