正则表达式\d和[0-9]的区别

正则表达式[1-9]完全指南:字符集、量词与数字匹配实战 正则表达式是文本处理中最重要的基础工具之一,而字符集[...]则规定了在某个位置“允许出现的单个字符”。理解这一点,才能真正掌握数字匹配:例如[1-9]表示匹配1到9之间的一个字符,不包含0,也不会自动匹配多位数字。很多开发者使用它做表单校验或数据清洗时出错,本质上是忽略了字符集只能匹配单个字符,需要与量词、锚点配合。通过实际场景中的非零开头正整数校验、全局数字提取等,可以看到字符集与量词组合后的强大能力。围绕[1-9]的语义、常见误区与实战写法,帮助你避开正则表达式中的隐性坑。 阅读详情

正则表达式中,\d和[0-9]都用于匹配数字
区别在于:\d的匹配范围比[0-9]更广泛
例如:中文输入法输入全角数字,\d能匹配而[0-9]不能

Python代码示例

import re
a = '1234567890'
print(re.findall('[0-9]', a))
print(re.findall('[0-9]', a))
print(re.findall('\d', a))

打印结果

[]
['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']

时间测试

[0-9]范围更小,因此速度更快

from re import search
from time import time

a = 'abcde' * 99
t0 = time()
[search('[0-9]', a) for _ in range(999999)]
t1 = time()
[search('\d', a) for _ in range(999999)]
t2 = time()
print('时间测试结果', t1 - t0, t2 - t1)

时间测试结果 3.1126251220703125 5.270697116851807

大白映射 宝马Esys编程设码映射、USB设备映射 大白映射,宝马Esys设码编程、USB设备映射 阅读详情

相关推荐

OSGEarth 基于鼠标位置缩放

说明 osgearth 原有漫游器EarthManipulator 不支持此功能,所以需要修改此漫游器代码,其中主要原理就是在缩放的同时也要改变当前漫游器中心焦点的位置,从而保持鼠标指定点的位置缩放是不改变。 核心代码修改部分 EarthManipulator 的头文件zoom方法添加参数view /** * Zoom the camera using delt...

Rsoftwaretest的专栏 3785

正则表达式\d 与[0-9] 区别

正则表达式\d 与[0-9] 不等价。\d 匹配的种类更多,除了半角数字外,还包含全角下的数字,罗马数字等等,都可以匹配成功;而[0-9] 只匹配半角下的数字。

Youle___的博客 3926

IMU预积分--详细推导过程

IMU预积分推导

weixin_51547017的博客 2万+

正则表达式

正则表达式 正则表达式(英语:Regular Expression,在代码中常简写为regex)。 正则表达式是一个字符串,使用单个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正则表达式通常被用来检索、替换那些符合某个规则的文本。 正则表达式匹配规则 正则表达式的语法规则: 字符:x 含义:代表的是字符x 例如:匹配规则为 “a”,那么需要匹配的字符串内容就是 ”...

qq_43554677的博客 1647

单片机技术入门与实战:从零基础到项目开发

单片机(MCU)作为嵌入式系统的核心组件,集成了CPU、内存和各种接口电路,广泛应用于智能家居、工业控制和汽车电子等领域。其工作原理基于实时控制和低功耗设计,通过定时器、中断系统和通信接口等功能模块实现各种控制任务。在物联网和智能硬件快速发展的背景下,掌握单片机开发技术成为电子工程师的重要技能。本文以STM32和PIC系列为例,详细解析单片机的基本概念、功能模块和选型指南,并分享从入门到项目实战的系统学习方法,帮助开发者在3-6个月内快速掌握这一关键技术。

weixin_35753291的博客 654

第2章-系统控制原理 -> 经典控制理论

第1章 回到目录 第3章 2 控制原理2.1 控制系统的数学模型2.1.1 时域数学模型2.1.2 复域数学模型2.2 线性系统的稳定性2.2.1 复数域稳定判据2.2.2 频率域稳定判据2.3 线性系统状态空间模型2.3.1 状态空间表达式2.3.2 状态空间系统设计2.4 李雅普诺夫稳定性分析2.4.1 李雅普诺夫稳定性2.4.2 李雅普诺夫稳定判据 2.1 控制系统的数学模型 2.1.1 时域数学模型 2.1.2 复域数学模型 2.2 线性系统的稳定性 2.2.1 复数域稳定判据 2.2....

赵继超的笔记 5554

正则[0-9]+和 [0-9].+区别

正则表达式中,[0-9] 匹配一个数字字符,包括 0 到 9 中的任何一个数字。而 [0-9]. 匹配一个数字字符后面跟着任何一个字符的字符串。例如,"1A"、"2B"、"3C" 等都会匹配成功。而只有数字字符的字符串,如"1"、"2"、"3" 等则不会匹配成功。 ...

weixin_35756130的博客 1015

给跨代引用记一本账:Java GC 的分配路径、卡表写屏障与收集器版图快速回顾

本文把 Java GC 的零散名词串成一条推理链路:从 TLAB 指针碰撞分配、逃逸分析,到 Eden、Survivor 与晋升的四条路,重点拆解卡表与写屏障如何为老年代指向新生代的引用记账,及 Minor GC 如何只扫脏卡。基于 JDK 8 实测:分散写使 Young GC 停顿涨 10~15 倍,条件卡标记消除卡表伪共享,计数循环让 System.gc 等待 2.7 秒,Survivor 过小使晋升量增加约 400 倍。文末梳理 JDK 8 到 27 的收集器演进、选型路径与排查顺序。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 17万+

常见的正则表达式

一、校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(\.[0-9]{1,2})?$ 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})$ 正数、负数、和小数:^(\-|\...

程序羊的博客 2995

【信息系统项目管理师】第18章:项目绩效域详解

(3)度量绩效域与规划绩效域、项目工作绩效域和交付绩效域的相互作用:1规划构成了 交付和规划比较的基础;项目绩效域共同构成了一个统一的整体,作为一个完整系统,在项目生命周期过程中运行,系统内的每个绩效域相互作用、相互关联和相互依赖,并协调一致、共同运作,支撑项目目标和价值 的实现。(5)开发方法和生命周期绩效域与其他绩效域的相互作用:开发方法和生命周期绩效域与干系人绩效域、规划绩效域、不确定性绩效域、交付绩效域、项目工作绩效域和团队绩效域相互作用。(2)项目工作绩效域的绩效要点包括:项目过程;

数据知道的博客 7806

phpMyAdmin | mysqli::real_connect(): (HY000/2002): No such file or directory

第一次安装宝塔mysql服务是默认关闭的,需要手动打开,打开服务再次进入phpMyAdmin发现可以进入了。

吻等离子的博客 2876

正则表达式中的\d 和 [0-9]

最近在调试正则表达式时,发现判断数字的正则表达式中的\d对全角字符判断的不准,有的能判断有时候又判断不出来。然后经过一番搜索发现\d判断的不只是0-9,而是一个 Unicode 字符集, 参考这里的描述: \d ✓ ✓ Match any character with the Unicode General Category of Nd (Number, Decimal Digit.) 例...

weixin_34161083的博客 6666

8.9华为OD机试真题 新系统 - 灯带颜色变换 (Java/Py/C/C++/Js/Go)

8.9华为OD机试真题 新系统 - 灯带颜色变换 (Java/Py/C/C++/Js/Go)

算法大师! 672

java正则表达式中 \d \D 有什么区别?

\d 匹配一个数字字符。等价于 [0-9]。 \D 匹配一个非数字字符。等价于 [^0-9]。

zhuhai__yizhi的专栏 2万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

正则表达式中\d和[0-0]有什么区别

今天看到Stackoverflow上一个有趣的问题,为什么正则表达式在中\d比[0-0]低效? 提问者用了如下的代码来做测试: static void Main(string[] args) { var rand = new Random(1234); var strings = new List<...

weixin_30888707的博客 447

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Difference between [0-9], [[:digit:]] and \d

Yes, it is[[:digit:]]~[0-9]~\d(where ~ means aproximate).In most programming languages (where it is supported)\d≡[[:digit:]](identical).The\dis less common than[[:digit:]](not in POSIX b...

weixin_30387339的博客 243

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

js正则表达式(RegExp)

概念 正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE)。 作用 正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。 创建 (1)字面值 //字面值 var regexp =/^\d+$/; //表示匹配以数字开头以数字结尾的字符串 alert(regexp.test("asedfasfd"));...

weixin_40486955的博客 2934

正则表达式(基础含义)

1.正则的作用 1)分割(split) 2)匹配(matcher) 3)替换(replace) 4)搜索(find/search) 2.正则表达式含义 1)\d 一个数字 2)\D 一个非数字 3)\w 一个字母0-9 a-z 4)\W 一个非字母 5). 任意一个字符 6)? 作用1:修饰符 修饰前一个正则出现的次数为0~1次 作用2:模式选择(贪婪模式(默认),非贪婪模式) 7)+ 修饰符 修饰前一个正则出现的次数为1~N次 8)* 修饰符 修饰前一个正则

wfdsj的博客 696

python正则表达式\s \S \w \W区别

\s:用于匹配单个空格符,包括tab键和换行符; \S:用于匹配除单个空格符之外的所有字符; \d:用于匹配从0到9的数字; \w:用于匹配字母,数字或下划线字符; \W:用于匹配所有与\w不匹配的字符; . :用于匹配除换行符之外的所有字符。 ...

studyvcmfc的专栏 9545

java正则表达式有什么_java 正则表达式 ^java 是什么意思

java正则表达式中“或”表示java 正则表达式是什么?这个世界只要有梦想,只要你不断努力,不断学习,不管你长得如何,不管你是不是有钱,不管是这样还是那样,你都是有机会的。不同情况下的正则表达式:匹配首尾空格的正则表达式:(^\s*)|(\s*$)。 匹配html标签的正则表达式:(.*)|。 配空行的正则表达式:\n[\s| ]*\r。 整数或者小数:^[0-9]+\.{0,1}[0-9]{0...

weixin_34931142的博客 431

第11.15节 Python正则表达式转义符定义的特殊序列

一、 引言 在前面《第11.13节 Python正则表达式的转义符”\”功能介绍》介绍了正则表达式转义符’’,只不过当时作为转义符主要是用于在正则表达式中表示元字符自身的需要进行的转义。实际上,除了元字符使用转义符外,Python还支持由 ‘’ 和一个ASCII数字或ASCII字母字符组成的特殊序列,这些特殊代表特殊的含义。 如果’'后面跟的字符不是ASCII数字或者ASCII字母,那么正则样式将...

老猿Python 5160

正则表达式快速入门

本文介绍了正则表达式中的常用符号及其用法,包括"?、*、+、{}"等量词,以及或运算符、中括号、元字符等特殊符号的匹配规则。还讲解了贪婪匹配与懒惰匹配的区别,并通过IP地址匹配的实例演示了如何构建复杂正则表达式。文章涵盖了正则表达式的基础语法和进阶应用,帮助读者快速掌握这一文本处理工具的核心功能。

2301_79537154的博客 802

正则表达式() [] {}区别以及各种符号表达的意义

圆括号() 是组,主要应用在限制多选结构的范围/分组/捕获文本 方括号[] 是单个匹配 字符集/排除字符集/命名字符集 正文内容 正则表达式的() [] {} 有着不同的意思,如下 ()是为了提取匹配字符串的,表达式中有几个()就有几个相应的匹配字符串。 [] 是定义匹配的单个字符的范围,比如[a-zA-Z0-9]表示相应位置的字符要匹配英文字符或数字。 {} 一般是用来匹配的长度,格式为{n}、{n,m}、{n,}。(ab){0,12}? 表示匹配0到12次但尽可能少 扩展 元字符

暴走的山交君的博客 1万+

正则表达式(括号)、[中括号]、{大括号}的区别小结

这篇文章主要介绍了正则表达式(括号)、[中括号]、{大括号}的区别小结,本文用(\s*)[\s*]{\s*}做例子,需要的朋友可以参考下 正则表达式的() [] {}有不同的意思。 () 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。 (\s*)表示连续空格的字符串。 []是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要

mnjihugyyy的专栏 2906
上一篇: NLP项目测试和验证
下一篇: Python网络编程:flask开启内网访问
小基基o_O
博客等级 码龄9年 4414粉丝 467原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值