首页 > 编程语言 >c#正则表达式适配数学表达式(一)

c#正则表达式适配数学表达式(一)

时间:2023-06-06 23:12:40浏览次数:38  
标签:const string c# 适配 RI 正则表达式 2.5 public 表达式

近日在做某项目时候,里面涉及到了与数学表达式有关的计算,为了高效的适配数学表达式现以正则表达式进行提取予以分享,若有需要的小伙伴可参考,具体如下:

 /// <summary>
    /// 正则表达式助手
    /// </summary>
    public class RegularHelper
    {
        /// <summary>
        /// 管段Code规则
        /// 示例:WS2-WS3
        /// </summary>
        public const string RegularPipleCode = @"^((([0-9a-zA-Z])+){1}?\-(([0-9a-zA-Z])+){1}?){1}?$";
        /// <summary>
        /// 支持不带负号的小数或者整数
        /// 示例:0.25,2.5,2,15
        /// </summary>
        public const string RegularDecimalV1 = @"^((\d+(\.\d+)?))+$";
        /// <summary>
        /// 支持待负号的小数或者整数
        /// 示例:-2.5,2.5,0,2,15
        /// </summary>
        public const string RegularDecimalV2 = @"^(((\-)?\d+(\.\d+)?)|(\d+(\.\d+)?))+$";

        /// <summary>
        /// 缺陷密度数学表达式
        /// 匹配2.5),2.5],-2.5),-2.5]
        /// </summary>
        public const string RegularDesityV1 = @"^(((\-)?\d+(\.\d+)?)|(\d+(\.\d+)?))+(\)|\]){1}$";
        /// <summary>
        /// 缺陷密度数学表达式
        /// 匹配(2.5,[2.5,(-2.5,(-2.5
        /// </summary>
        public const string RegularDesityV2 = @"^(\(|\[){1}(((\-)?\d+(\.\d+)?)|(\d+(\.\d+)?))+$";

        /// <summary>
        /// 缺陷密度数学表达式
        /// 匹配(2.5,5.6],(2.5,5.6),[2.5,5.6],[2.5,5.6)
        /// </summary>
        public const string RegularDesityV3 = @"^(\(|\[){1}(((\-)?\d+(\.\d+)?)|(\d+(\.\d+)?))+(\,){1}(((\-)?\d+(\.\d+)?)|(\d+(\.\d+)?))+(\)|\]){1}$";


        /// <summary>
        /// 数学表达式
        /// 匹配RI<5,RI≤5,RI≤-5,
        /// </summary>
        public const string RegularPlIndexV1 = @"^[a-zA-Z]+(\<|\≤|\=|\>|\≥){1}(((\-)?\d+(\.\d+)?)|(\d+(\.\d+)?))+$";
        /// <summary>
        /// 数学表达式
        /// 匹配2<RI≤5,2<RI<5,-5<RI<5
        /// </summary>
        public const string RegularPlIndexV2 = @"^(((\-)?\d+(\.\d+)?)|(\d+(\.\d+)?))+(\<|\≤|){1}[a-zA-Z]+(\<|\≤|){1}(((\-)?\d+(\.\d+)?)|(\d+(\.\d+)?))+$";

        /// <summary>
        /// 数数学表达式-非数字开头,
        /// 匹配RI<,RI≤,RI2≤,RI2>,RI2≥,开头为数字或字符,直到<、≤、=、>、≥结束
        /// </summary>
        public const string RegularNoStartWithDedimal = @"^[a-zA-Z]+(((\-)?\d+(\.\d+)?)|(\d+(\.\d+)?))*[≤<=>≥]+";

        /// <summary>
        /// 数数学表达式
        /// 数字开头表达式
        /// </summary>
        public const string RegularStartWithDecimal = @"^(((\-)?\d+(\.\d+)?)|(\d+(\.\d+)?))+";
        /// <summary>
        /// 数数学表达式
        /// 数字结尾表达式
        /// </summary>
        public const string RegularEndWithDecimal = @"(((\-)?\d+(\.\d+)?)|(\d+(\.\d+)?))+$";
        /// <summary>
        /// 数数学表达式
        /// 包含数字表达式
        /// </summary>
        public const string RegularContainDecimal = @"(((\-)?\d+(\.\d+)?)|(\d+(\.\d+)?))+";

    }

 

标签:const,string,c#,适配,RI,正则表达式,2.5,public,表达式
From: https://www.cnblogs.com/oumi/p/17462016.html

相关文章

  • 【Checkpoint】Command for log's checkpoint - SQLserver, Oracle, PostgreSQL
    文档引子最近,SQLserver环境中的SQLalwayson因事务爆满导致磁盘持续告警,通过这次事件,记载下SQLserverAG的事务日志处理的正确方式,同时也把Oracle以及PG的相关的checkpoint问题一并做个简单的总结,并且只从结果的角度给出过程,至于具体的理论,请移步官方文档查阅。SQLserver检......
  • C++容器4 关联容器
    关联容器的类型定义关联容器pair关联容器的类型别名 set的解引用是常量,添加元素 map和set适合关键字不存在才插入,不会更改关键字的值。你可以随便取出一个元素的值,也可以随便删除,但不能随便修改,因为红黑树也就平衡树的特性决定了修改特别麻烦,改变了值,他们关联的......
  • C++面试八股文:static和const的关键字有哪些用法?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第7面:面试官:C++中,static和const的关键字有哪些用法?二师兄:satic关键字主要用在以下三个方面:1.用在全局作用域,修饰的变量或者函数为静态的,限制在本文件内使用。2.方法内修饰修饰静态局部变量,在第一次访问的时候初始化。3.内类修饰......
  • docker desktop记录___docker命令操作
    继续接上一篇的<dockerdesktop安装部署及使用>,接着介绍docker。上一篇主要介绍的是安装部署,以及dockerdesktop的使用(客户端上操作使用)。本篇主要介绍的是基于docker命令的操作和使用。还是以mysql为例,从使用docker命令进行mysql镜像的下载、容器创建、容器查询、进入......
  • 在 MySQL 中,可以通过将插入操作放在事务中并使用 ROLLBACK 语句实现出现异常时全部回
    在MySQL中,可以通过将插入操作放在事务中并使用ROLLBACK语句实现出现异常时全部回滚。示例如下:STARTTRANSACTION;--开始事务INSERTINTOtable_name(column1,column2,...)VALUES(value1,value2,...);INSERTINTOtable_name(column1,column2,...)VALUES(val......
  • net core-Scheduling Background Jobs With Quartz
    一安装包Install-PackageQuartz.Extensions.Hosting二注入依赖关系services.AddQuartz(configure=>{configure.UseMicrosoftDependencyInjectionJobFactory();});services.AddQuartzHostedService(options=>{options.WaitForJobsToComplete=true;});......
  • 正则表达式regex = /^\/[^/]+/;
    这个代码片段是使用JavaScript语言定义了一个正则表达式(regularexpression),它用于匹配一个以斜杠(/)开头的字符串中的第一段。现在来逐步解释这个正则表达式的每个部分:^:这是一个锚点,表示匹配字符串的开头。\/:这是一个转义后的斜杠字符,用于匹配实际的斜杠字符。[^/]+:这是......
  • 基于mfcc和DTW语音信息特征提取算法matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:   2.算法涉及理论知识概要       在语音识别(SpeechRecognition)和话者识别(SpeakerRecognition)方面,最常用到的语音特征就是梅尔倒谱系数(Mel-scaleFrequencyCepstralCoefficients,简称MFCC)。根据人耳听觉机理的研究发......
  • rocketmq
    rocketmq在RocketMQ中,msgId和offsetMsgId是两个不同的概念。msgId是消息唯一标识符。具有全局唯一性,由RocketMQ在消息发送时自动生成。当消息被成功发送到Broker端后,msgId会随着消息一起存储在commitlog文件中,并且在消息消费时也可以用来查找和定位该消息。通常情......
  • 算法 in Golang:Quicksort(快速排序)
    算法inGolang:Quicksort(快速排序)Quicksort(快速排序)快速排序O(nlog2^n),比选择排序要快O(n²)在日常生活中经常使用使用了D&C策略(分而治之)使用Quicksort排序数组不需要排序的数组(也就是BaseCase基线条件):[],空数组[s],单元素数组很容易排序的数组:[a,b],两......