一篇认真的正则入门文章:正则表达式数字和数字范围匹配表达

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

正则表达式的数字和数字范围表达
在本文中,您将学习如何在正则表达式中匹配数字和数字范围。正则表达式编号范围包括0到9、1到9、0到10、1到10、1到12、1到16和1-31、1-32、0-99、0-100、1-100, 1-127、0-255、0-999、1-999、1-1000和1-9999。

关于正则表达式要记住的第一件事是正则表达式不知道数字,不知道计数并且不能理解1-100表示​​1到100之间的任何数字。原因是正则表达式只处理文本而不是数字,因此在处理正则表达式匹配、搜索、验证或替换操作中的数字和数字范围或数字范围时,您必须格外小心。

仅举一个例子,假设您要匹配1到100之间的任何数字,并(想当然的)为其编写正则表达式为

/ [1-100] /

并希望它将匹配从1到100的所有数字,那么您的正则表达式将起作用,但会产生意外的结果。这个正则表达式将只匹配两个数字,是的,只有两个数字,对此毫无疑问。你能找出哪两个数字吗?
如果你以为是匹配到1和100两个数字那可就大错特错了。如果您细看一下它,就会知道它只会匹配0和1,而不会匹配其他任何东西。
类似的,范围[0-255]将匹配0、1、2、5。首先是字符类中的范围0-2,它将匹配两次写入的0,1,2和5,将匹配5。现在开始在正则表达式中匹配数字和数字范围的逻辑和原理。

正则表达式中的数字

数字最简单的匹配是文字匹配。如果您想匹配3个,只需写/ 3 /,或者如果您要匹配99就写作/ 99 /,这将是一个成功的匹配。类似地,匹配2019 写 / 2019 /,这都是数字文字匹配。
但是您会看到它不灵活,因为很难知道文本中的特定数字,而有时候该数字可能会意外出现在范围内。

\ d用于单个或多个数字

**为了匹配0到9之间的任何数字,我们在正则表达式中使用\ d。**它将匹配从0到9的任何一位数字。

\ d表示[0-9]或匹配0到9之间的任何数字。它用简写是[0-9]代替写0123456789,其中[]用于字符范围。
例如

[1-9] [0-9]将匹配从10到99的两位数字。

但是,如果您要匹配任意数量的数字(例如2,55,235、9875),则需要在末尾添加一个量词

/ \ d + / /,其中+是一个量词,可匹配一次至尽可能多的次数。

两位数或三位数匹配

要匹配两位数字/ \ d {2} /,其中{}是一个量词,而2则表示匹配两次或仅匹配两位数字。同样,/ \ d {3} /用于匹配三位数,依此类推。

正则表达式匹配数字范围
现在,有关数字范围及其正则表达式的含义。通常在数字\ b或^ $字符用于字符串的开头或结尾之前和之后都使用单词边界。

正则表达式0-9

要匹配0-9的数字范围,即0到9之间的任何数字,正则表达式很简单

/ [0-9] /

正则表达式1到9

要匹配1到9之间的任何数字,正则表达式很简单

/ [1-9] /

同样,您可以使用/ [3-7] /匹配3到7之间的任何数字,或/ [2-5] /匹配2,3,4,5

正则表达式0到10

匹配从0到10的数字只是一个有点复杂的开始,不是那么复杂,但是使用了一种不同的方法。该系列分为两个部分。

  1. 从0到9

  2. 10

并将为组件编写正则表达式

/ \ b([0-9] | 10)\ b /

说明:

对于这两个组件,我们正在编写两段

  1. 从0到9 [0-9]&

  2. 10 10,我们正在使用组并使用|运算符,称为“或”运算符,此处表示0-9或10。

正则表达式1到10

同样,对于1到10,正则表达式将为

\ b([1-9] | 10)\ b

正则表达式1到12

\ b([1-9] | 1 [0-2])\ b

从1到12的范围分为两个范围

  1. 1至9-> [1-9]

  2. 10到12-> 1 [0-2]

正则表达式1到16

\ b([1-9] | 1 [0-6])\ b

在这种情况下,范围分为

  1. 1至9

  2. 10至16

正则表达式编号范围1-31

\ b([1-9] | [12] [0-9] | 3 [01])\ b

在这里,从1-31的范围按要求分为三部分

  1. 1至9-> [0-9]

  2. 10到29-> [12] [0-9]

  3. 30至31-> 3 [01]

正则表达式为1-32

1到32的正则表达式是

\ b([1-9] | [12] [0-9] | 3 [0-2])\ b
  1. 1至9-> [0-9]

  2. 10到29-> [12] [0-9]

  3. 30至32-> 3 [02]

0-99的正则表达式

0到99范围的正则表达式为

\ b([0-9] | [1-9] [0-9])\ b

此范围分为两个范围

  1. 0到9-> [0-9]

  2. 10到99-> [1-9] [0-9]

正则表达式为0-100

0到100范围的正则表达式是

\ b([0-9] | [1-9] [0-9] | 100)\ b

在这里,范围分为三部分,然后前面的范围是数字100。

正则表达式为1-100

此范围的正则表达式为

\ b([1-9] | [1-9] [0-9] | 100)\ b

1.第一部分为1到9

2.第二部分是10到99

3.第三部分是100

正则表达式为1-127

正则表达式范围1到127是

\ b([1-9] | [1-9] [0-9] | 1 [01] [0-9] | 12 [0-7])\ b

数值范围1至127分为

  1. 1至9

  2. 10至99

  3. 100至119

  4. 120至127

0-255的正则表达式

此范围也分为三个部分。

  1. 0-199

此组件的正则表达式为

[01]?[0-9] [0-9]?

  1. 第二部分是200-249,此部分的正则表达式是

2 [0-4] [0-9]

  1. 最后最后一部分是250-255

25 [0-5]

完整的正则表达式是

/ \ b([01][0-9] [0-9]| 2 [0-4] [0-9] | 25 [0-5]

有关更多详细信息,请参见正则表达式获取IP地址的博客文章

0-999的正则表达式

[0-9] | [1-9] [0-9] | [1-9] [0-9] [0-9]

0到999范围的正则表达式分为三部分,

  1. 0至9

  2. 10至99

  3. 100至999

1-999的正则表达式

1-999的正则表达式为

[1-9] | [1-9] [0-9] | [1-9] [0-9] [0-9]

正则表达式编号范围1-1000

正则表达式代码匹配范围从1到1000是

[1-9] | [1-9] [0-9] | [1-9] [0-9] [0-9] | 1000)

1-9999的正则表达式

正则表达式范围1到9999是

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

相关推荐

超详细:正则表达式入门入门

文章首发于公众号Python for Finance链接:https://mp.weixin.qq.com/s/boLdKv1L31377dLOKQ6irw正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

mfsdmlove的博客 3399

数字范围正则表达式

软件开发中,需要限制编辑框的数字范围,网上搜了一些,要么漏洞很多,要么不完善,于是博主重新学了一些正则表达式的语法。不多废话,请看正题: 1、[0,255]范围内的正则表达式: ^[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|(25[0-5])$ 解析:这个范围IP地址中会用到,如果写成^[0-2][0-5]{2}$那就大错特错了,不仅会取000这样无意义的数值,还不能输入39、166等数字。 上述表达式虽长,但是分段看就很简单,将其分成5个区间: 取值范围

宏笋的博客 9448

匹配浮点型数据<正则表达式

正则表达式匹配浮点型) 前言: 在开发中我们常常会使用到正则表达式,但很奇怪的是,每次你在使用正则表达式的时候你都发现你不会写,不知道语法,可能你大概还记得一部分,但很模糊,对于正则表达式的语法真心记不住,别的程序猿是不是我不清楚,但我是就是这样子,每次写都会发现记不住了,然后又去网上查找资料,又进行一次学习,慢慢的发现基本语法你又会了,但实际上你还是不会,可能是没有完全明白或者在实际开发中没有长期的使用导致,今天写这篇文章纯属唠嗑,其余的差不多都是复制粘贴了,另外说一下最近这一次翻开正则表达式匹配浮点

@峰的博客 1万+

正则表达式的指定符号+1-200正整数校验

正则表达式的指定符号 . 查找单个字符,除了换行行结束符 . === [^\r\n] \w 查找单词字符 \w === [0-9A-z_] \W 查找非单词字符 \W === [^\w] \d 查找数字字符 \d === [0-9] \D 查找非数字字符 \D === [^\d] \s 查找空白字符(空格符,制表符\t,回车符\r,换行符\n,垂直换行符\v,换页符\f) \s === [\n\f\t] \S 查找非空白字符 \S === [^\s] \b 匹配单词边界 \B 匹配非单词边界 \0 查找n

MYG_G 2401

18-正则匹配数字范围

1. 正则匹配数字范围 正则表达式是为了匹配字符而设计的,而并不是为了匹配数字,所以当你使用正则匹配指定范围内的数字的时候你需要额外小心。表达式[0-255]并不能匹配0至255之间的数字表达式[0-255]是一个字符集,它的含义是匹配 0,1,2,5中任意一个字符,这个表达式等同于[0125]。 正则引擎真正处理的是字符,所以数字0对于引擎来说是一个字符,而255对于引擎来说是长度为3的字符。...

David糖的博客 3万+

常用的正则表达式大全

【代码】常用的正则表达式大全。

keyila 1159

vba正则表达式入门

正则表达式很强大且内容比较多。不少初学者学这个表示很困难。故写一篇入门的教程。 1、什么是正则表达式 正则表达式是一个天才创建的用于快速检索匹配字符串,通过简单的表达匹配文本。 2、正则表达式的组成 正则表达式也是一个字符串,包括元字符、限定符正常意义的字符。正则表达式强大的地方就在元字符限定符。 3、限定符 很多人讲这个都是先讲元字符。其实先讲限定符更加容易吸收。限定符是表示前面字符或元字符出现的次数。主要限定符如下: 限定符 含义 * 表示前面字符或...

gerald2008的专栏 2万+

正则表达式入门

正则表达是应用广泛的工具。不论您是否从事编程相关的工作,都应学习掌握正则表达式。即使不是编程领域的读者,如教师、公务员、大学生等需要经常进行文字处理的人群,正则表达式也一定能提高您的工作效率。

农民工老王的博客 6万+

基本正则表达式与扩展正则表达式

正则表达式一 基本正则表达式1.字符匹配1.匹配次数三级目录 写在前面:一直以来 对于正则表达式的使用都没有进行一个系统性的梳理学习,导致在工作中进行脚本编写时,总是会出现一些不符合自己认知的错误,最近抽空将其进行了系统性的学习与梳理 所谓正则表达式 是对文本中的字符串进行处理的一种工具,由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符),不表示字符字面意思,而表示控制或通配的功能 程...

Buster_ZR的博客 6630

java正则表达式匹配数字范围_在java中怎么利用正则表达式匹配数字

在java中怎么利用正则表达式匹配数字发布时间:2020-12-03 17:47:12来源:亿速云阅读:58作者:Leah在java中怎么利用正则表达式匹配数字?针对这个问题,这篇文章详细介绍了相对应的分析解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。用于匹配正则表达式为 :([1-9]\d*\.?\d*)|(0\.\d*[1-9])([1-9] :匹配1~9的数字;\d ...

weixin_35213963的博客 3293

linux正则匹配8位数字日期,正则表达式匹配数字范围正则表达式匹配数字

正则表达式匹配数字范围正则表达式匹配数字最近有个需求就是根据产品编号批量下架产品,需要下架日期为16-31号之间的产品,比如编号为B201607280023匹配表达式如下:^201607(1[6-9]|2[0-9]|3[0-1]).+逻辑很简单,如果是必须是1或2或3开头,如果是1开头则后面范围为6-9,如果是2开头则为0-9,如果为3开头则为0-1,因为7月份到31号同理,如果要匹配前半月的...

weixin_39595537的博客 3003

【C++技能树】快速文本匹配 --正则表达式介绍与C++正则表达式使用

快速文本匹配 --正则表达式介绍与C++正则表达式使用

qq_62839589的博客 2444

正则表达式入坟文章

正则表达式的一些基础概念以及用法

weixin_43795939的博客 2161

正则表达式 数字范围_玩转正则表达式

正则表达式是一个很强大的模式语言,使用它我们能够解决很多很棘手的问题,有时候使用字符串查找来解决这类问题不是很方便,所以这个时候正则表达式就能帮我们很大的忙。完整的正则表达式由两种字符构成。特殊字符(specialcharacters,比如*) 称为“元字符”(metacharacters),其他为“文字”(literal),或者是普通文本字符(normaltext characters).如何...

weixin_34466909的博客 2339

JS数字正则表达式

JS数字正则 数字正则顾名思义就是用来验证数字正则表达式 举个例子: /^1(3|4|5|6|7|8|9)\d{9}$/ 表示以1开头,第二位可能是3/4/5/6/7/8/9其中一个,\d表示0-9的数字,{9}表示9位数 接下来让我们看一下常见的验证数字正则表达式 1、验证数字:1*$ 2、验证n个的数字:^\d{n}$ 3、验证至少n个的数字:^\d{n,}$ 4、验证m-n的数字:^...

weixin_46384132的博客 9892

正则表达式快速入门

我写这篇文章,用来记录我平时使用正则表达式的方法,这样我在分享知识给大家的同时,也复习了一遍正则表达式。在你学习某个知识的时候,千万不要去像阅读手册一般去进行学习,因为手册的内容虽然非常详细且全面,但是其实你实际运用到的内容并不会很多,这个就是二八定律,正则表达式20%的内容,就足以够覆盖80%的使用场景了正则表达式的定义如下正则表达式是一组由字母符号组成的特殊文本, 它可以用来从文本中找出满足你想要的格式的句子.首先,你难道不觉得 “正则表达式” 这个名字莫名奇妙,难以理解吗?

m0_73366745的博客 1517

chatgpt赋能pythonPython匹配列表元素:使用正则表达式轻松实现列表元素匹配

正则表达式是一种强大的文本模式匹配工具,它通过一系列的特殊字符语法规则,可以匹配任意文本字符串中的特定模式。在Python中,我们可以使用re模块来实现正则表达式匹配功能。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公方向。

「 虚幻私塾」 1502

学好正则表达式,啥难匹配的内容都给我匹配上【python爬虫入门进阶】(07)

掌握正则表达式还挺有帮助的

码农飞哥 3011

如何用正则表达式提取数字小数点

最近开发遇到一个新的东西,需要将里面的数字提取出来,下面这篇文章主要给大家介绍了关于用正则表达式提取数字小数点的相关资料,需要的朋友可以参考下。

hdxx2022的博客 2017
上一篇: Python的类型注解Annotation
下一篇: 用正则表达式解锁IP地址那点事:何在正则表达式中查找和验证IP地址
曼巴的脚步
博客等级 码龄18年 23粉丝 62原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值