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

相关推荐
烛阴1 天前
C# 正则表达式(3):分组与捕获——从子串提取到命名分组
前端·正则表达式·c#
WangMing_X1 天前
C# 数据验证常用正则表达式
正则表达式
小北方城市网1 天前
第7课:Vue 3应用性能优化与进阶实战——让你的应用更快、更流畅
前端·javascript·vue.js·ai·性能优化·正则表达式·json
gis分享者1 天前
Bash 中如何使用正则表达式进行文本处理?(中等)
正则表达式·bash·shell·文本·处理
mofei121382 天前
正则表达式高级用法指南
python·正则表达式·零宽断言·原子分组
jayson.h3 天前
正则表达式
正则表达式
3824278273 天前
python:正则表达式
前端·python·正则表达式
烛阴4 天前
C# 正则表达式(2):Regex 基础语法与常用 API 全解析
前端·正则表达式·c#
烛阴5 天前
C# 正则表达式:量词与锚点——从“.*”到精确匹配
前端·正则表达式·c#
张彦峰ZYF5 天前
Python 模式匹配与高效正则表达式:从语言特性到工程级简单实践
python·正则表达式