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

相关推荐
yume_sibai5 天前
正则表达式完全指南(基础语法 + 实战应用 + 性能优化 + 最佳实践)
开发语言·正则表达式·c#
研☆香6 天前
js中使用的正则表达式
开发语言·javascript·正则表达式
2601_9622935311 天前
浅学python | 正则表达式集锦
正则表达式·字符串匹配·python知识·浅学python·ip地址检查
2601_9622955811 天前
Python中正则表达式的知识汇总分享
python·正则表达式·模块·语法·匹配
启观川11 天前
Python基础-第 16 章 综合案例:客户信息管理系统
开发语言·笔记·python·正则表达式
2601_9622940511 天前
Python 操作 Word:如何查找、替换和批量修改文本
python·正则表达式·word·文档处理·查找替换
for_ever_love__16 天前
python基础语法学习: 正则表达式
python·学习·正则表达式
asdfg125896317 天前
一个例子通俗理解Java中正则表达式用法
java·正则表达式
Tanner_SL18 天前
Linux笔记之正则表达式和文本处理grep,sed,awk命令
linux·正则表达式
谢亮_vipxieliang19 天前
手机号验证技术方案:号段规则与正则表达式
java·服务器·spring boot·正则表达式·hibernate