正则表达式匹配 int unint uint16 类型最大值最小值的类型范围

本文主要是介绍正则表达式匹配 int unint uint16 类型最大值最小值的类型范围,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以int16来举例

答案

^([1-6]\d(?<!6[6-9])\d(?<!65[6-9])\d(?<!655[4-9])\d(?<!6553[6-9])|0|10{4}|[1-9]\d{0,3})$

解析

int16的范围是 0~65535 。我们把它分解为 0 1~9999 10000 ~ 65535 。前两组很简单如下

0
[1-9]\d{0,3}

正则表达式 否定式向后查看

(?<!exp2)exp1:查找前面不是 exp2 的 exp1

例子

(?<![0-9]+)runoob //匹配前面不是数字的 runoob字符串

字符串

123456runoob-googlerunoob456

将会匹配到 google后面的 runoob而不是 123456后面的runoob。
虽然参考网站里没有写,但是还可以这么写

exp1(?<!exp2) : 匹配exp1但是会去掉符合exp2的情况

例子

\d\d(?<!23) //匹配两个数字但是不会匹配 23 的情况

45匹配成功 23匹配失败
在这里插入图片描述
在这里插入图片描述

参考
第三组 : 第一个数字可以取 1-6,第二个数字可以取 0-9。但是第一个数字是 6,那么第二个数字就不能取 6-9(也就是只能取0-5)。第三个数字可以取0-9。但是如果第一个第二个数字正好是65,那么第三个数字就不能取6-9(也就是只能取0-5)。依次类推

[1-6]\d(?<!6[6-9]) //第一个数匹配 1-6,第二个数可以匹配 0-9,去除掉 第一个数为6的前提下第二个数为 6-9中的某一个数的情况。

完整表达式

[1-6]\d(?<!6[6-9])\d(?<!65[6-9])\d(?<!655[4-9])\d(?<!6553[6-9])

结尾

最后将它们组合起来,并添加上定位符

  1. 你要匹配的字符串只是由数字构成如
"12345"; "45";"65536";"65537" 等等

添加定位符

^([1-6]\d(?<!6[6-9])\d(?<!65[6-9])\d(?<!655[4-9])\d(?<!6553[6-9])|0|10{4}|[1-9]\d{0,3})$
  1. 你要匹配的字符串是字母加数字串等等
this is a number 65535 and 65536 and 456

添加定位符

\b([1-6]\d(?<!6[6-9])\d(?<!65[6-9])\d(?<!655[4-9])\d(?<!6553[6-9])|0|10{4}|[1-9]\d{0,3})\b

其它类型如法炮制即可

这篇关于正则表达式匹配 int unint uint16 类型最大值最小值的类型范围的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/603875

相关文章

MySQL中between and的基本用法、范围查询示例详解

《MySQL中betweenand的基本用法、范围查询示例详解》BETWEENAND操作符在MySQL中用于选择在两个值之间的数据,包括边界值,它支持数值和日期类型,示例展示了如何使用BETWEEN... 目录一、between and语法二、使用示例2.1、betwphpeen and数值查询2.2、be

MyBatis中的两种参数传递类型详解(示例代码)

《MyBatis中的两种参数传递类型详解(示例代码)》文章介绍了MyBatis中传递多个参数的两种方式,使用Map和使用@Param注解或封装POJO,Map方式适用于动态、不固定的参数,但可读性和安... 目录✅ android方式一:使用Map<String, Object>✅ 方式二:使用@Param

C# WebAPI的几种返回类型方式

《C#WebAPI的几种返回类型方式》本文主要介绍了C#WebAPI的几种返回类型方式,包括直接返回指定类型、返回IActionResult实例和返回ActionResult,文中通过示例代码介绍的... 目录创建 Controller 和 Model 类在 Action 中返回 指定类型在 Action

python3中正则表达式处理函数用法总结

《python3中正则表达式处理函数用法总结》Python中的正则表达式是一个强大的文本处理工具,用于匹配、查找、替换等操作,在Python中正则表达式的操作主要通过内置的re模块来实现,这篇文章主要... 目录前言re.match函数re.search方法re.match 与 re.search的区别检索

Java中的随机数生成案例从范围字符串到动态区间应用

《Java中的随机数生成案例从范围字符串到动态区间应用》本文介绍了在Java中生成随机数的多种方法,并通过两个案例解析如何根据业务需求生成特定范围的随机数,本文通过两个实际案例详细介绍如何在java中... 目录Java中的随机数生成:从范围字符串到动态区间应用引言目录1. Java中的随机数生成基础基本随

python中的鸭子类型详解

《python中的鸭子类型详解》鸭子类型是Python动态类型系统的灵魂,它通过强调“行为”而非“类型”,赋予了代码极大的灵活性和表现力,本文给大家详细介绍python中的鸭子类型,感兴趣的朋友一起看... 目录1. 核心思想:什么是鸭子类型?2. 与“传统”静态类型语言的对比3. python 中无处不在

Java枚举类型深度详解

《Java枚举类型深度详解》Java的枚举类型(enum)是一种强大的工具,它不仅可以让你的代码更简洁、可读,而且通过类型安全、常量集合、方法重写和接口实现等特性,使得枚举在很多场景下都非常有用,本文... 目录前言1. enum关键字的使用:定义枚举类型什么是枚举类型?如何定义枚举类型?使用枚举类型:2.

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

Java 正则表达式的使用实战案例

《Java正则表达式的使用实战案例》本文详细介绍了Java正则表达式的使用方法,涵盖语法细节、核心类方法、高级特性及实战案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、正则表达式语法详解1. 基础字符匹配2. 字符类([]定义)3. 量词(控制匹配次数)4. 边