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博客

相关推荐
BruceXu5 天前
\b 在中文里会静默失效:三个正则坑和一份能用的字符边界方案
正则表达式
阿昭L7 天前
正则表达式
正则表达式·编译原理
波力海苔夹心脆6757 天前
C# 正则表达式零基础入门:从“看得懂“到“会用“
经验分享·后端·mysql·正则表达式·c#
FRing038 天前
JavaScript入门到精通二十四(正则表达式、元字符、修饰符)
开发语言·前端·javascript·正则表达式
小白快快跑哦10 天前
python-字符串全解(六):正则表达式-元字符与转义
python·正则表达式·字符串·元字符·转义
小白快快跑哦12 天前
python-字符串全解(六):正则表达式-逻辑运算或
python·正则表达式·字符串·逻辑运算
MoRanzhi120312 天前
106.正则问题(分治)
python·算法·正则表达式·蓝桥杯·递归·分治算法·字符串处理
临床数据科学和人工智能兴趣组13 天前
在R语言的生态系统中,字符串处理一直是一个重要且复杂的任务
开发语言·正则表达式·r语言·r语言-4.2.1
小白快快跑哦14 天前
python-字符串全解(六):正则表达式-前后相断言
开发语言·python·正则表达式·前后相断言
小白快快跑哦15 天前
python-字符串全解(六):正则表达式-修饰符
python·正则表达式·修饰符