正则表达式【C#】

1作用:

1文本匹配(验证字符串)

2查找字符串

2符号:

. ^ $ * + - ? ( ) [ ] { } \ |

0-9\]+ 匹配出数字 #### 3语法格式: **/****表示模式****/****修饰符** **/****\[0-9\]+****/****g** ```cs 表示模式:是指匹配条件,要写在2个斜杠内。是正则表达式主体部分。 [0-9a-z]+ [XxYyZzAaBbCc]+ 单字符匹配 +加号是可多次匹配 / / 两个斜杠是包围正则表达式的模式,将其限制在两个斜杠之间。 修饰符: 辅助条件,收索模式。比如 忽略大小写i, 全局匹配g, 多行匹配m, 单行匹配s, Unicode匹配u, /[\u4e00-\u9fa5]+/u 匹配汉字 沾驸匹配y, /abc/y 字符串的开头"abc"才匹配 忽略空白x, /a b c/x 匹配"a b c" gims可以组合使用。 可以: 查找,替换,验证,提取文本数据。 ``` ![](https://file.jishuzhan.net/article/1731248736660623362/e68d44a122011fa0618c64f22155fa7b.webp) **/****\[0-9\]+****/****g**是查找整行**匹配**数字 ![](https://file.jishuzhan.net/article/1731248736660623362/39295cc64553f32525b49827c651ae6d.webp) **/****\[0-9\]****/****g**是查找整行单个**匹配**数字 ![](https://file.jishuzhan.net/article/1731248736660623362/6b4435c8187e5d8334b7e21d2219adc3.webp) **/****\[d-e\]+****/****g**是查找整行匹配字母 ![](https://file.jishuzhan.net/article/1731248736660623362/ae9c59a3d501723821cfe9cdf2984ed5.webp) #### 4符号作用: ```cs * 最高通配符,前一个字符出现0次或多次匹配 . 通配单个字符(不包括\n \r) 等效于 [^\n\r] .. 通配2个字符 ... 通配3个字符 ^ 匹配字符串开头位置 $ 匹配字符串结尾位置 + 前一个字符1次或多次匹配 ? 前一个字符0次或1次 ab?c 指b出现0次和1次。 匹配"ac""abc" 不匹配"abbc" {n} 匹配前一个字符刚好出现n次 {n,} 匹配前一个字符至少出现n次 {n,m} 匹配前一个字符至少出现n次,但不超过m次 \d{2,4}例: 12abc 2345abcd 567ppp \d 任何数字 {2,4}至少连续出现2~4次 - ( ) 字符串匹配,括号可以不写 (\d{4})-(\d{2})-(\d{2}) 例 2023-11-29 [ ] 集合内单字符匹配 ^反条件 去匹配集合内的任一单字符,有这元素就true { } 子条件 \ 转义 \. 匹配.点符号 a\.c 只匹配 a.c 不匹配abc \* 匹配*星符号 a\*b 例 abc adc acc \d 匹配数字 {4}匹配4个数字 2023年 {3,16}长度3~16的数字 \w 匹配字符 \s 匹配空白字符 \b 匹配单词的边界,回车 \B 不匹配字符边界 | 或者 cat|dog 猫和狗都满足条件 匹配cat和dog ``` #### 元字符: 相当于C语言的关键字。 ![](https://file.jishuzhan.net/article/1731248736660623362/9df171653358c4fd7ecd4aa7e1fd41fe.webp) ![](https://file.jishuzhan.net/article/1731248736660623362/528d6344d371e5e319c8f168c6b26ff4.webp) ```cs \b 是单词边界 \w 匹配字母、数字、下划线。等价于'[A-Za-z0-9_]'。 \. 匹配小数点 ``` #### 5提取数控坐标: CNC数控机床坐标 / \[Xx\]\\d+\\.?\\d+ /g ![](https://file.jishuzhan.net/article/1731248736660623362/14b1efa320caf0b7214832897e5bc4ea.webp) #### 6匹配和提取: [C#【中级篇】 C# 正则表达式_明如正午的博客-CSDN博客](https://star-302.blog.csdn.net/article/details/125202855 "C#【中级篇】 C# 正则表达式_明如正午的博客-CSDN博客") **C#的案例** ````cs 以下是一个使用C#的正则表达式的示例代码,它可以匹配一个字符串中的所有数字并输出: ```csharp using System; using System.Text.RegularExpressions; class Program { static void Main() { string input = "abc123def456ghi789"; string pattern = @"\d+"; // 匹配一个或多个数字 MatchCollection matches = Regex.Matches(input, pattern); foreach (Match match in matches) { Console.WriteLine(match.Value); } } } ``` 输出结果为: ``` 123 456 789 ``` foreach (Match match in Regex.Matches(input, pattern)) Console.WriteLine(match.Value); ```` ```cs var str = "abc123def"; var sub = /[0-9]+/; string data = str.match(sub); ``` **Regex** **regex** = new Regex(@"\^abc$"); string input = "abc"; bool status = regex.IsMatch(input); // 匹配结果 bool **Match** **match** = **regex**.Match(input); // 匹配对象 obj if(status) // match.Success { string str = **match**.Groups\[1\].Value; // 输出匹配 }

相关推荐
天狼12222 天前
java 正则表达式优化
java·mysql·正则表达式
阿达C2 天前
深入解析 Python 正则表达式:全面指南与实战示例
python·mysql·正则表达式
技术小结-李爽3 天前
正则表达式(Regular Expression,简称 Regex)
正则表达式
G皮T3 天前
【Python Cookbook】字符串和文本(五):递归下降分析器
数据结构·python·正则表达式·字符串·编译原理·词法分析·语法解析
___波子 Pro Max.6 天前
正则表达式和通配符
正则表达式
北极象6 天前
用C实现一个最简单的正则表达式引擎
c语言·正则表达式·php
学吧别真挂了6 天前
正则表达式从入门到飞升:覆盖90%前端场景的秘籍
前端·javascript·正则表达式
bst@微胖子7 天前
正则表达式示例集合
正则表达式
智能编织者8 天前
深入解析 Python 正则表达式:全面指南与实战示例
python·mysql·正则表达式
課代表8 天前
VBA 中正则表达式使用指南
数据库·mysql·正则表达式·excel