C# 使用正则表达式

正则表达式概念

称规则表达式(Regular Expression,通常缩写为 Regex),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"),是计算机科学的一个概念。正则表达式使用特定的语法以字符串的形式来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。

。。。。。。。。

正则表达式创建规则

创建正则表达式就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。(不要紧张,巴拉巴拉~规则太多了😳,我学了这么久还是不太清楚规则,还是给兄弟们直接来点实例和列出一些常用正则表达式😁)

正则表达式实例

检索字符
cs 复制代码
Regex reg = new Regex("[0-9]*");//搜索匹配0-9的数字
Console.WriteLine(reg.Match("abc123def"));//最后输出123

是不是很简单,而且省去了程序去检索字符串的繁琐事情,大大加快了工作效率。

使用正则表达式Regex.Split分割字符串
cs 复制代码
using System.Text.RegularExpressions;
string str="aabdccee";
string[] sArray=Regex.Split(str,"bd",RegexOptions.IgnoreCase);//aaccee
cs 复制代码
string str = "aaa(12)bbb[34]ccc{56}ddd";
//提取小括号()内值:12
string str1 = Regex.Replace(str, @"(.*\()(.*)(\).*)", "$2");

//提取中括号[]内值:34  
Regex rgx = new Regex(@"(?i)(?<=\[)(.*)(?=\])");
string str2 = rgx.Match(str).Value;

//提取大括号{}内值:56
string str3 = Regex.Match(str, @"\{(.*)\}", RegexOptions.Singleline).Groups[1].Value;
常用的正则表达式
cs 复制代码
检索数字:[0-9]
检索英文字母:[a-zA-Z]
检索数字和字母:^[A-Za-z0-9]+$
n位的数字:^\d{n}$
汉字:^[\u4e00-\u9fa5]{0,}$
手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
短身份证号码(数字、字母x结尾):^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
日期格式:^\d{4}-\d{1,2}-\d{1,2}

参考:

【C#基础】C# 正则表达式-CSDN博客

最全常用正则表达式大全-CSDN博客

相关推荐
郝学胜-神的一滴3 天前
基于C++的词法分析器:使用正则表达式的实现
开发语言·c++·程序人生·正则表达式·stl
ruleslol4 天前
python30-正则表达式
python·正则表达式
Big Cabbage5 天前
python 正则表达式
python·正则表达式
大飞pkz7 天前
【C#】正则表达式
开发语言·正则表达式·c#·string·字符串匹配·高效字符串匹配
IvanCodes8 天前
十二、Linux Shell脚本:正则表达式
linux·运维·正则表达式
秋难降9 天前
正则表达式:为什么它成了程序员的 “分水岭”?
python·算法·正则表达式
雲_kumo11 天前
正则表达式
python·正则表达式
Shun_Tianyou13 天前
Python Day21 re模块正则表达式 简单小说爬取 及例题分析
开发语言·数据结构·python·算法·正则表达式
Dxy123931021616 天前
Python正则表达式使用指南:从基础到实战
开发语言·python·正则表达式
天南地北飞17 天前
正则表达式
正则表达式