C#正则表达式Regex过滤内容
生产队的驴. 人气:0先看英文意思
命名空间
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(); }
总结
加载全部内容