正则表达式【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.Groups[1].Value; // 输出匹配

}

相关推荐
艾伦~耶格尔2 天前
Java 正则表达式详解
java·开发语言·学习·正则表达式
不会写算法的小王3 天前
正则表达式
正则表达式
kuiini4 天前
python学习-08【正则表达式】
python·学习·正则表达式
敲代码不忘补水4 天前
Python 正则表达式详解:从基础匹配到高级应用
java·python·正则表达式
wclass-zhengge4 天前
MySQL篇(高级字符串函数/正则表达式)(持续更新迭代)
android·mysql·正则表达式
立黄昏粥可温5 天前
Python 从入门到实战17(正则表达式操作)
python·正则表达式
shyuu_7 天前
Linux 三种方式查看和设置主机名
linux·运维·服务器·正则表达式·云计算·运维开发
一只会敲代码的小灰灰8 天前
python学习第七节:正则表达式
python·学习·正则表达式
风雨后灬见彩虹8 天前
正则表达式
正则表达式
鸽芷咕8 天前
【Python知识宝库】正则表达式在Python中的应用:字符串模式匹配利器
开发语言·python·正则表达式