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

}

相关推荐
Just_Paranoid7 小时前
解析 Java 项目生成常量、变量和函数 Excel 文档
java·python·正则表达式·excel·javadoc
问道飞鱼1 天前
【知识科普】认识正则表达式
数据库·mysql·正则表达式
我码玄黄1 天前
正则表达式优化之算法和效率优化
前端·javascript·算法·正则表达式
Java编程乐园2 天前
Java中以某字符串开头且忽略大小写字母如何实现【正则表达式(Regex)】
java·正则表达式
好学近乎知o2 天前
正则表达式(学习Django过程中可能涉及的)
学习·正则表达式·django
SunnyRivers4 天前
基础爬虫案例实战
正则表达式·爬虫实战·多进程·requests
西洼工作室5 天前
【java 正则表达式 笔记】
java·笔记·正则表达式
kiss strong5 天前
正则表达式
正则表达式
Linux运维技术栈5 天前
Python字符串及正则表达式(十一):正则表达式、使用re模块实现正则表达式操作
开发语言·python·正则表达式
jackiendsc5 天前
Java中正则表达式的介绍、使用场景及示例代码
java·开发语言·正则表达式