正则表达式【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可以组合使用。

可以: 查找,替换,验证,提取文本数据。

/0-9+/****g是查找整行匹配数字

/0-9/****g是查找整行单个匹配数字

/d-e+/****g是查找整行匹配字母

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语言的关键字。

cs 复制代码
\b   是单词边界
\w   匹配字母、数字、下划线。等价于'[A-Za-z0-9_]'。
\.   匹配小数点

5提取数控坐标:

CNC数控机床坐标

/ Xx\d+\.?\d+ /g

6匹配和提取:

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.Groups1.Value; // 输出匹配

}

相关推荐
互联网中的一颗神经元12 小时前
小白python入门 - 23. Python 正则表达式的应用
python·正则表达式
2501_936415691 天前
API-正则表达式&时间&包装类
正则表达式
鹤卿1234 天前
谓词与正则表达式(OC)
ios·正则表达式·objective-c·xcode
饼干哥哥8 天前
10.5% 深层转化、90%+ 新用户,ChatGPT Ads 值得吗?
算法·正则表达式·编程语言
饼干哥哥8 天前
Seedance TK视频「真人感」问题的 9 个解法
正则表达式·代码规范·设计
逝水无殇9 天前
C# 正则表达式详解
开发语言·后端·正则表达式·c#
木木子2214 天前
# 密码强度检测深度解析:正则表达式实时分析、多维度评分算法与可视化反馈
mysql·算法·华为·正则表达式·harmonyos
饼干哥哥14 天前
用Claude Code跑通跨境电商的5大场景,顶10个人的团队
人工智能·设计模式·正则表达式
饼干哥哥15 天前
单篇100万阅读文章,如何用AI 做好内容创作?
人工智能·正则表达式·代码规范
无足鸟ICT17 天前
【RHCA+】扩展正则表达式
linux·正则表达式