正则表达式【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; // 输出匹配 }

相关推荐
前端小L2 天前
动态规划:驯服正则表达式的*号魔王
正则表达式
九皇叔叔3 天前
Linux Shell 正则表达式中的 POSIX 字符集:用法与实战
linux·运维·正则表达式
m0_64880493_江哥5 天前
用正则方法从中英文本提取英文的python示例
python·mysql·正则表达式
九皇叔叔5 天前
Linux Shell 正则表达式:从入门到实战,玩转文本匹配与处理
linux·mysql·正则表达式
一百天成为python专家6 天前
python爬虫入门(小白五分钟从入门到精通)
开发语言·爬虫·python·opencv·yolo·计算机视觉·正则表达式
蓝桉~MLGT7 天前
Python学习历程——字符串相关操作及正则表达式
python·学习·正则表达式
一晌小贪欢7 天前
Python爬虫第5课:正则表达式与数据清洗技术
爬虫·python·正则表达式·网络爬虫·python爬虫·python3·网页爬虫
MANONGMN7 天前
Linux 通配符与正则表达式(含实战案例+避坑指南)
linux·运维·正则表达式
带土17 天前
18 .shell编程-正则表达式
linux·正则表达式
2025年一定要上岸8 天前
【日常学习】10-15 学习re
学习·算法·正则表达式