C# 正则表达式实例

using System;
using System;
using System.Text.RegularExpressions;




namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            string pattern;
            //pattern = @"^([1-9]\d{0,2}|5000|[1-4]\d{3})$";//1到5000整数包括1和5000
            //pattern = @"^((?:[1-9]\d{0,2}|[1-4]\d{3})((\.\d+)*)|(5000(\.[0]+)*))$";//1到5000小数包括5000.0*
            //pattern = @"^(1(\.0+)*|(0(.\d+)?))$";//0到1 小数包括0和 1 
            pattern = @"^(([1-9]|\d{2,3}|10[0-1]\d|102[1-4])|0)?$";//0到1024的整数包括0和1024
            pattern = @"^(0|(10[0-1]\d)|102[0-4]|([1-9]([1-9])?[1-9]?))?$";//0到1024的整数包括0和1024
            //pattern = @"^(([1-2](\.\d+)?)|(0\.[6-9][0-9]+)|3(\.0+)*|(0.60*))?$";//0.6~3.0




            //pattern = @"^(-3(\.0+)*|-3(\.[0]\d*)|-3(\.1)*|-3(\.1[0-3]\d*)|-3(\.140*))?$";
            //pattern = @"^(3(\.0+)*|3(\.[0]\d*)|3(\.1)*|3(\.1[0-4]\d*)|3(\.150*))?$";
            //pattern = @"^(((-3(\.0+)*|-3(\.[0]\d*)|-3(\.1)*|-3(\.1[0-3]\d*)|-3(\.140*))|(-?[0-2](\.\d+)*))|(3(\.0+)*|3(\.[0]\d*)|3(\.1)*|3(\.1[0-4]\d*)|3(\.150*)))?$";


            while (true)
            {
                var str = Console.ReadLine();
                foreach (Match match in Regex.Matches(str, pattern))
                    Console.WriteLine(match.Value);
            }
            //Console.ReadKey();
            
        }
        
    }
}

【-3.14,3.15】这个最有难度

pattern = @"^(((-3(\.0+)*|-3(\.[0]\d*)|-3(\.1)*|-3(\.1[0-3]\d*)|-3(\.140*))|(-?[0-2](\.\d+)*))|(3(\.0+)*|3(\.[0]\d*)|3(\.1)*|3(\.1[0-4]\d*)|3(\.150*)))?$"

【0.6,3.0】

pattern = @"^(([1-2](\.\d+)?)|(0\.[6-9][0-9]+)|3(\.0+)*|(0.60*))?$";//0.6~3.0

【0,1024】

pattern = @"^(0|(10[0-1]\d)|102[0-4]|([1-9]([1-9])?[1-9]?))?$";//0到1024的整数包括0和1024

或者

pattern = @"^(([1-9]|\d{2,3}|10[0-1]\d|102[1-4])|0)?$";//0到1024的整数包括0和1024

【0,5000】

pattern = @"^([1-9]\d{0,2}|5000|[1-4]\d{3})$";//1到5000整数包括1和5000

【0,1】

pattern = @"^(1(\.0+)*|(0(.\d+)?))$";//0到1 小数包括0和 1

控制台主要是为了测试验证,你输入测试数据后,能匹配上就返回对应值,匹配不上就是空的。如下图

ea29a4339ddaffd30950f83b12235af5.png

如果看不懂,那就熟悉下正则表达式的语法:

正则表达式是什么:

正则表达式 是一种匹配输入文本的模式。

.Net 框架提供了允许这种匹配的正则表达式引擎。

模式由一个或多个字符、运算符和结构组成。

限定符

限定符指定在输入字符串中必须存在上一个元素(可以是字符、组或字符类)的多少个实例才能出现匹配项。限定符包括下表中列出的语言元素。

下表列出了限定符:

fc2fbd109253e27277cf579cc6d3301b.png

详细语法请参考网址:

https://www.runoob.com/csharp/csharp-regular-expressions.html

欢迎关注公众号: dotnet编程大全

技术群: 需要进技术群的添加小编微信sf-1738658853,备注:加群;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值