c#--正则表达式(项目常用)

正则表达式 正则表达式 语法 普通字符 普通字符包括没有显式指定为元字符的所有可打印和不可打印字符。这包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号 字符 描述 […] 匹配[…]中的所有字符。例如 [aeiou] 匹配字符串 “google runoob taobao” 中所有的 e o u a 字母。 [^…] 匹配除了 […] 中字符的所有字符,例如 [^aeiou] 匹配字符串 “google runoob taobao” 中除了 e o u a 字母的所有字母。 [A-Z 阅读详情

1.判断是否为1-999之间的数字

    string RunTime = txtRunTime.Text;
    if (!string.IsNullOrEmpty(RunTime))
    {
        Regex reg = new Regex(@"^[1-9]{1}\d{0,2}$");
        bool realvalue= reg.IsMatch(RunTime);
        //如果不是1-999之间的纯数字,就返回
        if (!realvalue)
        {
            MessageBox.Show("请输入非零开头,1-999之间的纯数字!");
            return;
        }
    }

2. 匹配3个连续的数字

            string regularExpression = "[0-9]{3}";
            Regex rg = new Regex(regularExpression);

            string[] contents = { "12", "123aa", "a3bb12345", "a3bb123456" };
            for (int i = 0; i < contents.Length; i++)
            {
                if (rg.IsMatch(contents[i]))
                {
                    Console.WriteLine(contents[i] + "成功");
                }
                else
                {
                    Console.WriteLine(contents[i] + "不成功");

                }
            }

            Console.ReadKey();

结果如下:

12不成功
123aa成功
a3bb12345成功
a3bb123456成功

3. 匹配IP地址

这里讲的是IPv4的地址格式,总长度 32位=4段*8位,每段之间用.分割, 每段都是0-255之间的十进制数值。

将0-255用正则表达式表示,可以分成一下几块来分别考虑:

取值区间 特点 正则写法 可合并的写法 可合并的写法 可合并的写法
0-9 一位数,只有个位,取值是0~9 \d [1-9]?\d (1\d{2})|([1-9]?\d)
(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))

10-99

两位数,十位取值1-9,个位取值是0~9 [1-9]\d
100-199 三位数,最高位取值为1,十位取值0-9,个位取值0-9 1\d{2} -
200-249 三位数,最高位取值为2,十位取值0-4,个位取值0-9 2[0-4]\d - -
250-255 三位数,最高位取值为2,十位取值5,个位取值0-5 25[0-5] - -
IP地址格式可表示为:XXX.XXX.XXX.XXX,XXX取值范围是0-255,前三段加一个.重复了三次,在与最后一段合并及组成IP地址的完整格式。

所以IP地址的正则表示法如下:

((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))

在这里插入图片描述
前三段重复三次,所以最后为

((25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)

备注:1\d{2}|[1-9]?\d 这里|前后的顺序不可颠倒,先匹配3位数的,如果顺序颠倒,线匹配到2位就不匹配三位了

string pattern = @"((25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)";
string input = "net:tcp//192.168.5.173:65535/MyService";
Regex reg = new Regex(pattern);
var ret=  reg.Matches(input);

以下为扩展

IP正则表达式(不同类型的)

^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$

匹配 127.0.0.1 | 255.255.255.0 | 192.168.0.1

不匹配 1200.5.4.3 | abc.def.ghi.jkl | 255.foo.bar.1

正则表达式

^((0|1[0-9]{0,2}|2[0-9]{0,1}|2[0-4][0-9]|25[0-5]|[3-9][0-9]{0,1}).){3}(0|1[0-9]{0,2}|2[0-9]{0,1}|2[0-4][0-9]|25[0-5]|[3-9][0-9]{0,1})(?(/)/([0-9]|[1-2][0-9]|3[0-2])|)$

匹配 192.168.0.1 | 192.168.0.1/32 | 255.255.0.0/1

不匹配 010.0.0.0 | 192.168.0.1/33 | 256.0.1.55

正则表达式

^(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})(.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})){3}$

匹配 97.67.44.20 | 199.154.37.214 | 127.0.0.1

不匹配 63.125.94.287 | 140.370.a.187 | 94.923.1

正则表达式
/^(([01]?\d?\d|2[0-4]\d|25[0-5]).){3}([01]?\d?\d|2[0-4]\d|25[0-5])/(\d{1}|[0-2]{1}\d{1}|3[0-2])$/

匹配 192.168.100.1/24 | 0.0.0.0/0

不匹配 192.168.100.1/33 | 0.0.0.0/90

正则表达式

\d+.\d+.\d+.\d+

匹配 127.0.0.1 | 255.255.255.0 | 192.168.0.1

不匹配 @#.5.4.3 | abc.def.ghi.jkl | 255.foo.bar.1

正则表达式

^((\d|\d\d|[0-1]\d\d|2[0-4]\d|25[0-5]).(\d|\d\d|[0-1]\d\d|2[0-4]\d|25[0-5]).(\d|\d\d|[0-1]\d\d|2[0-4]\d|25[0-5]).(\d|\d\d|[0-1]\d\d|2[0-4]\d|25[0-5]))$

匹配 1.198.0.1 | 100.10.0.1 | 200.200.123.123

不匹配 …12.23 | a.23.345 | 400.500.300.300

正则表达式

^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5]).(\d{1,2}|1\d\d|2[0-4]\d|25[0-5]).(\d{1,2}|1\d\d|2[0-4]\d|25[0-5]).(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$

匹配 0.0.0.0 | 255.255.255.02 | 192.168.0.136

不匹配 256.1.3.4 | 023.44.33.22 | 10.57.98.23.

正则表达式

^(http|https|ftp)😕/(((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9]).){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])|([a-zA-Z0-9_-.])+.(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|uk|me))((:[a-zA-Z0-9])?/?([a-zA-Z0-9-._?,’/\+&%$#=~]))$

匹配 http://www.allkins.com | http://255.255.255.255 | http://allkins.com/page.asp?action=1

不匹配 http://test.testing

正则表达式

^(([0-2][0-9]+[0-9]+).([0-2][0-9]+[0-9]+).([0-2][0-9]+[0-9]+).([0-2][0-9]+[0-9]+))$

匹配 113.173.40.255 | 171.132.248.57 | 79.93.28.178

不匹配 189.57.135 | 14.190.193999 | A.N.D.233

正则表达式

\b(([01]?\d?\d|2[0-4]\d|25[0-5]).){3}([01]?\d?\d|2[0-4]\d|25[0-5])\b

匹配 217.6.9.89 | 0.0.0.0 | 255.255.255.255

不匹配 256.0.0.0 | 0978.3.3.3 | 65.4t.54.3

原文:
https://www.cnblogs.com/olive987/p/5844501.html
https://www.cnblogs.com/FashionDoo/p/10685631.html

C#用正则表达式判断字符串是否纯数字vs用Char.IsDigit 方法遍历字符数组是否纯数字 用于判断字符串是否纯数字的正则表达式可以是:^[0-9]*$,其中,[0-9]*表示匹配零个至多个数字,“*”限定符用于限定指定的字符至少出现0次。实现相同目的的正则表达式还可以是:^\d*$、^\d+$。先用ToCharArray()静态方法把输入的字符串转成字符数组,再对数组遍历并用Char.IsDigit()方法判断数组中是否包含非数字,一旦包含非数字就显示输入的字符不是纯数字。使用正则表达式Regex类的IsMatch方法,可以有效地判断用户输入的信息是否为数字。 阅读详情

相关推荐

C#开发基础之100个常用的C#正则表达式

正则表达式是处理字符串的强大工具,特别是在文本搜索、替换和验证中。本文将100个常用的C#正则表达式进行分类,以帮助我们更快速地找到适合的正则表达式解决方案。1. 基础匹配这些正则表达式用于匹配一些基本的字符或字符串模式。匹配任意字符匹配任意空白字符匹配任意非空白字符匹配任意数字字符匹配任意非数字字符匹配任意字母数字字符匹配任意非字母数字字符匹配任意字母字符匹配任意小写字母匹配任意大写字母2. 数字处理这些正则表达式用于匹配和处理数字相关的字符串。匹配单个数字匹配多位数字匹配十六进制数字。

dotnet研习社 2790

C# 正则表达式数字匹配

/// <summary> /// 带小数点数字匹配 /// </summary> /// <param name="input"></param> /// <returns></returns> public static bool IsNumber(string input) { string p...

qq_22865989的博客 2022

C#语言的正则表达式

正则表达式(Regular Expressions,简称Regex)是一种强大而灵活的字符串处理工具,它可以用来匹配、搜索和替换文本中的模式。在C#中,正则表达式是一种非常重要的工具,因为它可以帮助我们轻松地处理字符串数据,进行复杂的模式匹配。在本文中,我们将详细探讨C#语言中的正则表达式,包括其基本概念、常用方法、应用示例以及一些最佳实践。

2401_90086119的博客 2226

C#正则表达式匹配整数小数

C#正则表达式匹配整数小数

你要明白,任何问题都不是孤立存在的,一定有人曾经遇到过,并且已经有更好的解决办法了,只是我还不知道。我不应该在黑暗中独自前行,去重新发明轮子,也许我的顿悟,只是别人的基本功!我应该要站在巨人的肩膀上,学习更成熟的经验和方法,然后再来解决这个问题 3467

C#中的正则表达式和判断日期时间的正则表达式

2[0-4]\d 匹配以2开头,十位为0到4,个位为任何数字的三位字段,25[0-5] 匹配以25 开头,个位为0到5 的三位字段,[01]?| 表示分支匹配,要么匹配前面的一部分,要么匹配后面的一部分。我们来对他进行分析,0匹配数字“0”,\d匹配一个数字,{2,3}表示重复2到3次,-只匹配”-”自身,接下来的\d同样匹配一个数字,而 {7,8}则表示重复7到8次。自定义组名还有另外一个好处,在我们的C#程序中,如果需要得到分组的值,我们就可以很明确的使用我们定义的分组的名字来得到,而不必使用下标。

2122

C#实现使用正则表达式验证IP地址(附完整源码)

C#实现使用正则表达式验证IP地址(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 487

C#正则表达式精讲

前言:正则表达式是一种匹配输入文本的模式。.Net 框架提供了允许这种匹配的正则表达式引擎。模式由一个或多个字符、运算符和结构组成。下来,让我们共同进入学习。 文章目录一、什么是正则表达式?二、正则表达式的组成三、元字符介绍四、Regex 类,方法使用 一、什么是正则表达式? 英文Regular Expression,是计算机科学的一个重要概念,它使用一种数学算法来解决计算机程序中的文本检索,匹配等问题。正则表达式语言是一种专门用于字符串处理的语言。在很多语言中都提供了对它的支持,C#也不例外,它可以帮我们

路虽远,行则必至! 1113

【C#基础1-8】C#的正则表达式

一、引言 上篇文章【1-7C#基础】C#的枚举和结构体 本篇介绍C#的正则表达式 二、正则表达式描述 正则表达式 是一种匹配输入文本的模式。.Net 框架提供了允许这种匹配的正则表达式引擎。模式由一个或多个字符、运算符和结构组成。 正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串。正则表达式无疑是处理文本最有力的工具,而.NET提供的Regex类实现了验证正则表达式的方法。Regex 类表示不可变(只读)的正则表达式。它还包含各种静态方法,允许在不显式创建其他类的实例的情况下使用其他正则表达式类

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 2259

常用正则表达式总结

常用正则表达式总结

m0_37546766的博客 101

C#常用工具类设计与实战

在C#开发中,工具类是提高代码复用性和开发效率的重要手段。它通常以静态类形式存在,包含一组与特定功能相关的静态方法。良好的工具类设计应遵循单一职责原则,避免功能冗杂,提升可维护性。命名上应清晰表达用途,如StringUtil等。此外,应避免过度使用工具类,防止“上帝类”出现,确保其在项目结构中职责明确、调用简洁,为后续章节的工具类实践奠定坚实基础。

weixin_35797963的博客 446

Windows C语言编程:Beep API实现蜂鸣器原理与实战

如果你在 Windows 上写过 C 语言程序,想给程序加个简单的提示音,第一个想到的可能是 printf("\a") 。这个转义字符确实能在某些终端里发出“嘀”的一声,但它太原始、太不可控了,而且很多时候根本没声音。那么,有没有一种更“Windows”、更可控、更专业的方法来让你的程序“说话”呢? 答案是肯定的,而且它比你想象的要强大和复杂。Windows 提供了一个名为 Beep 的 API 函数,专门用于生成蜂鸣声。你可能觉得这功能太简单,甚至有点过时——不就是让电脑“哔”一声吗?但恰恰是这个看似简单

weixin_34109408的博客 394

20251222_正则表达式_Study13

正则表达式是一种匹配输入文本的模式。.Net框架提供了允许这种匹配的正则表达式引擎。模式由一个或多个字符、运算符和结构组成。构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。正则表达式是由普通字符以及特殊字符组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

m0_74473517的博客 1425

PyTorch实战:5步搞定Res2Net图像分类模型(附完整代码)

本文详细介绍了如何使用PyTorch在5步内构建高性能Res2Net图像分类模型,包括环境配置、核心模块实现、完整网络架构搭建、训练流程优化及模型部署技巧。Res2Net通过多尺度特征融合机制显著提升图像分类性能,附完整代码帮助开发者快速实践。

java5的博客 1023

C#正则表达式小结

C#正则表达式小结<br />转的,http://www.cnblogs.com/maxianghui/archive/2006/05/11/397747.html<br /><br /> 只能输入数字:"^[0-9]*$"。<br /> 只能输入n位的数字:"^/d{n}$"。<br /> 只能输入至少n位的数字:"^/d{n,}$"。<br /> 只能输入m~n位的数字:。"^/d{m,n}$"<br /> 只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。<br /> 只

aikker的专栏 325

[Ethernet in CANoe]4--CANoe工程中SOME/IP报文的详细介绍(二)

介绍了SOME/IP报文的SD报文(ServiceDiscovery),本片文章开始继续介绍SOME/IP报文。

汽车ECU自动化测试 1113

【华为OD技术面试真题 - 技术面】- 测试面试题(1)

专栏:华为OD面试真题精选 目录: 2024华为OD面试手撕代码真题目录以及八股文真题目录黑盒测试:白盒测试:基本功能验证:边界条件测试:空白输入测试:特殊字符和格式测试:响应时间测试:压力测试:针对在不同系统和设备上测试聊天窗口功能,以及网络正常的前置条件,我们可以增加以下测试用例:系统和设备:PC端测试:移动端测试:功能验证:前置条件:网络性能影响测试:Postman:SoapUI:JMeter:Rest-Assured:Tricentis Tosca:ReadyAPI:CI/CD工具集成:测试管理工

算法大师! 3690

正则表达式简单介绍

前段时间做项目使用C#写界面,在对界面输入框中的数字进行数据有效性检查时用到了正则表达式匹配,在网上搜索了几篇比较有价值的博客,受益匪浅现在记录下来作为以后的笔记,也希望能帮到对正则表达式还不是很懂的新手朋友们。 符号解释 ^ 匹配输入字符串的开始位置。在一个表示中可以出现多次 $ 匹配输入字符串结束的位置。在一个表示中可以出现多次 ? 匹配前面的表达式0次或一次 ...

weixin_30247307的博客 110

【学前须知】推荐阅读顺序

AUTOSAR学习笔记专栏文章推荐阅读顺序

weixin_47571898的博客 744

【C#基础】C# 正则表达式

编程语言 C# 正则表达式的介绍。

好学若饥,谦卑若愚。 1万+

Windows安装 OpenClaw详细教程(使用wsl2+ubuntu)

OpenClaw 是一款于 2026年1月 正式对外开源的个人AI助手平台(AI Agent),由 PSPDFKit 创始人彼得·斯坦伯格(Peter Steinberger) 开发。它不仅仅是一个聊天机器人,更是一个能够主动执行任务的“数字管家”。OpenClaw的核心特点是本地化部署、隐私可控以及强大的自动化执行能力。OpenClaw 项目在开发过程中经历过两次更名,最终定为现名:初名:Clawdbot(因与 Claude 名称过于相似引发侵权争议而改名)。

猿小白的博客 1006

24、无人机能耗模型与上下文质量管理的研究

本文系统介绍了无人机能耗模型与上下文质量管理的研究进展。详细阐述了Dorling、Stolaroff、Kirchstein和Tseng等经典能耗模型的原理及特点,并基于LSTM架构构建了数据驱动的能耗预测模型,实验表明其预测精度显著优于传统模型。此外,还探讨了物联网环境中的上下文质量管理问题,引入了conQeng框架,以提升上下文选择、测量和验证的效率与可靠性。研究为无人机能耗优化和物联网上下文管理提供了理论支持和技术方案。

palm99的专栏 344

C# 正则表达式大全

转自:https://www.cnblogs.com/hehehehehe/p/6043710.html 文章导读 正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串。正则表达式无疑是处理文本最有力的工具,而.NET提供的Regex类实现了验证正则表达式的方法。Regex 类表示不可变(只读)的正则表达式。它还包含各种静态方法,允许在不显式创建其他类的实例的情况下使用...

worldy的专栏 4万+

YOLOv8优化:特征融合 | 金字塔稀疏 Transformer(PST)——一个轻量级、即插即用的模块 | 25年7月最新成果

将 PST 嵌入当前最先进的实时检测模型(YOLOv11-N/S/M)后,在 MS COCO 上的 mAP 分别提升 0.9%、0.5%、0.4%,而延迟增加极小。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 611

C#正则表达式用法总结

判断用户输入的密码是否合法,判断用户输入的邮箱格式是否合法.

qq_42980743的博客 2万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

C#常用正则表达式

正则表达式通常包含字母文本(Literaltext)和元字符(metacharacter) 字母文本指的是普通文本如"abcde"可匹配字符串中任何包含"abcde"的字符串。 元字符则更加灵活运用通用的表达式匹配所有符合此表达式规律的字符串。 C#正则表达式语法一、 匹配单个字符 []——从中选择一个字符匹配 中间支持的类型:单词字符([ae])、非单词字符([!?,;@#$*])、字母范...

dujuancao11的博客 2485

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: SVN-最新版SVN安装使用教程(4.1.3版 / 1.13.1版) (超全面详细,图文介绍)
下一篇: sql--sqlserver--拒绝了对对象 ‘sp_cycle_errorlog‘ (数据库 ‘mssqlsystemresource‘,架构 ‘sys‘)的 EXECUTE权限
百小容是程序员
博客等级 码龄7年 1万+粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值