首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

正则表达式:匹配月份和数据前面没有0的日期

正则表达式是一种用于匹配和处理文本模式的工具。它可以用于查找、替换和验证文本中的特定模式。在匹配月份和日期的场景中,可以使用正则表达式来匹配月份和日期前面没有0的情况。

下面是一个示例正则表达式,用于匹配月份和日期前面没有0的情况:

代码语言:txt
复制
^(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01])$

该正则表达式的含义如下:

  • ^ 表示匹配字符串的起始位置。
  • (0?[1-9]|1[0-2]) 表示匹配月份。其中,0?[1-9] 匹配1-9月,1[0-2] 匹配10-12月。
  • - 表示匹配日期和月份的分隔符。
  • (0?[1-9]|[12][0-9]|3[01]) 表示匹配日期。其中,0?[1-9] 匹配1-9日,[12][0-9] 匹配10-29日,3[01] 匹配30-31日。
  • $ 表示匹配字符串的结束位置。

使用该正则表达式可以实现匹配月份和日期前面没有0的情况。

推荐腾讯云相关产品:腾讯云云服务器(CVM),提供高性能、可扩展的云服务器实例,适用于各种应用场景。详情请参考腾讯云云服务器产品介绍:https://cloud.tencent.com/product/cvm

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

js月份日期前补0一种简单实现方法

问题 我博客创建是通过借助obisidian插件脚本来生成,创建名称是年月日加时间,国庆期间进行文件名统一重新管理,按【年月日+标题】来命名。...js脚本月日字段生成默认是没有0,也就是如果1位的话显示是这样1月1号:1-1,而不是01-01,这样整体就不统一。 js日期字段 查了一下资料,找到了一种简单解决方法。...ES2017 引入了字符串补全长度功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。  ...,没有俩位数就补一个0 //调整后   var month = (d.getMonth() + 1).toString().padStart(2, '0');   var day = (d.getDate...()).toString().padStart(2, '0'); 参考 https://blog.csdn.net/xiaokangna/article/details/122297412

60720

《JavaScript高级程序设计》学习笔记(4)——引用类型

在使用这种数据存储格式条件下,Date类型保存日期能够精确到1970年1月1日之前或之后285616年。 要创建一个日期对象,使用new操作符Date构造函数即可,  返回当前日期时间。...传入年份值必须是4位数字 getMonth() 返回日期月份,其中0表示一月,11表示十二月 getUTCMonth() 返回UTC日期月份,其中0表示一月,11...传入月份值必须大于0,超过11则增加年份 setUTCMonth(月) 设置UTC日期月份。...传入月份必须大于0,超过11则增加年份 getDate() 返回日期月份天数(1到31) getUTCDate() 返回UTC日期月份天数(1到31)...exec()接受一个参数,即要应用模式字符串,然后返回包含第一个匹配项信息数组;或者在没有匹配情况下返回null。

1.5K140
  • Python正则表达式简单应用示例演示

    今天小编给大家分享是Python正则表达式简单应用示例演示,将前面学习Python正则表达式做一个概括。...总之对日期写法五花八门,那么我们现在需要写一个正则表达式来统一匹配这么多情况,应该如何来处理呢?具体教程如下所示。...5、接下来就复杂一些了,其中“d{1,2}”理解同月份理解一致,关键是关于“日”提取主要需要注意有的字符串有日期,有的字符串并没有日期,所以需要特殊字符“|”来表示“或”关系,并且用特殊字符“$...10、原因是月份“d{1,2}”后面限定要跟“[月/-]”,而原始字符串string5时间为“2018-06”,其后面没有任何字符就结束了,也匹配模式搭配不上,因此在这里需要改进一下。...11、下图是原始字符串string6匹配情况。 可以看到此时可以成功匹配。 经过测试可以发现,此时改进后字符串对6种不同日期字符串都可以成功匹配。小伙伴们,有没有感受到正则表达式魔力呢?

    78820

    Python正则表达式简单应用示例演示

    今天小编给大家分享是Python正则表达式简单应用示例演示,将前面学习Python正则表达式做一个概括。...总之对日期写法五花八门,那么我们现在需要写一个正则表达式来统一匹配这么多情况,应该如何来处理呢?具体教程如下所示。...5、接下来就复杂一些了,其中“d{1,2}”理解同月份理解一致,关键是关于“日”提取主要需要注意有的字符串有日期,有的字符串并没有日期,所以需要特殊字符“|”来表示“或”关系,并且用特殊字符“$...10、原因是月份“d{1,2}”后面限定要跟“[月/-]”,而原始字符串string5时间为“2018-06”,其后面没有任何字符就结束了,也匹配模式搭配不上,因此在这里需要改进一下。...11、下图是原始字符串string6匹配情况。 可以看到此时可以成功匹配。 经过测试可以发现,此时改进后字符串对6种不同日期字符串都可以成功匹配。小伙伴们,有没有感受到正则表达式魔力呢?

    68140

    Python正则表达式简单应用示例演示

    今天小编给大家分享是Python正则表达式简单应用示例演示,将前面学习Python正则表达式做一个概括。 ?...总之对日期写法五花八门,那么我们现在需要写一个正则表达式来统一匹配这么多情况,应该如何来处理呢?具体教程如下所示。 ?...5、接下来就复杂一些了,其中“\d{1,2}”理解同月份理解一致,关键是关于“日”提取主要需要注意有的字符串有日期,有的字符串并没有日期,所以需要特殊字符“|”来表示“或”关系,并且用特殊字符“...10、原因是月份“\d{1,2}”后面限定要跟“[月/-]”,而原始字符串string5时间为“2018-06”,其后面没有任何字符就结束了,也匹配模式搭配不上,因此在这里需要改进一下。 ?...小伙伴们,有没有感受到正则表达式魔力呢? ------ End ------

    44620

    Java开发笔记之利用正则表达式校验字符串学习

    正则表达式是编程语言处理字符串格式一种逻辑式子,它利用若干保留字符定义了形形色色匹配规则,从而通过一个式子来覆盖满足了上述规则所有字符串。...竖线“|”:对前面后面的字符进行或运算,表示既可以是前面的字符,也可以是后面的字符。 横线“-”:与前面后面的字符组合起来,代表两个字符之间所有连续字符。 点号“.”...:代表除了回车符换行符以外其它字符。 加号“+”:表示加号前面的字符可以有一位,也可以有多位。 星号“*”:表示星号前面的字符可以有一位,也可以有多位,还可以没有0位)。...,可再拆分为四位年份、两位月份两位日期。...2、日期首位是1或者2,那么第二位可以是0到9,该情况正则表达式应为“[12]\\d”。 3、日期首位是3,那么第二位可以是01,该情况正则表达式应为“3[01]”。

    1.3K30

    冰河公开了其总结一项重要编程技能!

    写在前面 熟练掌握正则表达式,能够帮助程序员以最快速度写出最优雅代码。...对于第一个难点,我们首先不考虑闰年,假设2月份都是28天,这样,月份日期可以分成三种情况: (1)月份为 1, 3, 5, 7, 8, 10, 12,天数范围为 01 - 31,匹配MM-DD正则表达式为...)-(0[1-9]|[12][0-9]|30) (3)月份为 2,考虑平年情况,匹配MM-DD正则表达式为: 02-(0[1-9]|[1][0-9]|2[0-8]) 根据上面的成果,我们可以得到匹配平年日期格式为...._])(29)$)) 闰年2月份有29天,因此匹配闰年日期格式为YYYY-MM-DD正则表达式为: (([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[...48]|[2468][048]|[3579][26])00))-02-29 最后,将平年闰年日期验证表达式合并,我们得到最终验证日期格式为YYYY-MM-DD正则表达式为: (([0-9]{3

    63110

    轻松学习正则表达式

    一旦你描述清楚了这些格式,那你就可以利用它们对文本数据进行检索、替换、提取修改操作。 下面有一个正则表达式简单例子。...a-z英文字母: Regex obj = new Regex(“[a-z]{10}”); 最后,根据正则式在指定数据中检索匹配项,如果匹配IsMatch方法就会返回true。...B 在正则表达式中有3种类型括号 方括号 “[“花括号“{“ 。 方括号"["内是需要匹配字符,花括号"{"内是指定匹配字符数量。 圆括号“(“ 则是用来分组。...,剩余8位是数字 在前面的表达式中只能匹配前3个是小写英文字母发票编号,如果我们输入大写字母那就不能匹配了。...再来匹配日期分隔符"/","-" [/ . -] 允许用户输入日期分隔符. MM也是类似的操作 [1-9]|0[1-9]|1[0-2] 让用户输入月份值01-12.

    44330

    全网最全正则实战指南,拿走不谢

    之间日期时间关于闰年阐释。...]{2}|[1-9][0-9]{3}其中 0-9 也可以表示为 \d,但 \d 不如 0-9 直观,因此下面我将一直采用 0-9用正则表达式验证日期难点有二:一是大小月份天数不同,二是闰年考虑。...对于第一个难点,我们首先不考虑闰年,假设2月份都是28天,这样,月份日期可以分成三种情况:(1)月份为 1, 3, 5, 7, 8, 10, 12,天数范围为 01 - 31,匹配MM-DD正则表达式为...0[1-9]|[12][0-9]|30)(3)月份为 2,考虑平年情况,匹配MM-DD正则表达式为:02-(0[1-9]|[1][0-9]|2[0-8])根据上面的成果,我们可以得到匹配平年日期格式为...._])(29)$))闰年2月份有29天,因此匹配闰年日期格式为YYYY-MM-DD正则表达式为:(([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]

    22510

    如何提高编码效率?yyds!!(建议收藏)

    59之间日期时间 关于闰年阐释。...对于第一个难点,我们首先不考虑闰年,假设2月份都是28天,这样,月份日期可以分成三种情况: (1)月份为 1, 3, 5, 7, 8, 10, 12,天数范围为 01 - 31,匹配MM-DD正则表达式为...)-(0[1-9]|[12][0-9]|30) (3)月份为 2,考虑平年情况,匹配MM-DD正则表达式为: 02-(0[1-9]|[1][0-9]|2[0-8]) 根据上面的成果,我们可以得到匹配平年日期格式为...._])(29)$)) 闰年2月份有29天,因此匹配闰年日期格式为YYYY-MM-DD正则表达式为: (([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[...48]|[2468][048]|[3579][26])00))-02-29 最后,将平年闰年日期验证表达式合并,我们得到最终验证日期格式为YYYY-MM-DD正则表达式为: (([0-9]{3

    93520

    你应该学习正则表达式

    我们可以用\d替换[0-9],结果相同(匹配所有数字)。 这个表达式(一般正则表达式伟大之处在于它无需太多修改,就可以用到任何编程语言中。...\b搜索一个单词字符前面或者后面没有另一个字符地方,因此它搜索单词字符缺失,而\s明确搜索空格字符。\b特别适用于我们想要匹配特定序列/单词情况,而不是特定序列/单词之前或之后有空格情况。...这个有点长,但它看起来与我们上面讲过有些类似。 (0?[1-9]|[12]\d|3[01])——匹配1到31之间任何数字(前面0是可选) ([\/\-])——匹配分隔符/或- (0?...我们可以通过替换模式$3$2$1$2$4或\3\2\1\2\4使用上述正则表达式。 让我们分解捕捉组。 $1——第一个捕获组:日期。 $2——第二个捕捉组:分隔符。 $3——第三个捕获组:月份。...替换模式(\3\2\1\2\4)简单地交换了表达式中月份日期内容。 以下是我们如何在Javascript中进行这种转换: ?

    5.3K20

    冰河为啥有很多时间写文章,录视频?关键在于事倍功倍!!

    9]{2}|[1-9][0-9]{3} 其中 [0-9] 也可以表示为 \d,但 \d 不如 [0-9] 直观,因此下面我将一直采用 [0-9] 用正则表达式验证日期难点有二:一是大小月份天数不同...对于第一个难点,我们首先不考虑闰年,假设2月份都是28天,这样,月份日期可以分成三种情况: (1)月份为 1, 3, 5, 7, 8, 10, 12,天数范围为 01 - 31,匹配MM-DD正则表达式为...)-(0[1-9]|[12][0-9]|30) (3)月份为 2,考虑平年情况,匹配MM-DD正则表达式为: 02-(0[1-9]|[1][0-9]|2[0-8]) 根据上面的成果,我们可以得到匹配平年日期格式为...._])(29)$)) 闰年2月份有29天,因此匹配闰年日期格式为YYYY-MM-DD正则表达式为: (([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[...48]|[2468][048]|[3579][26])00))-02-29 最后,将平年闰年日期验证表达式合并,我们得到最终验证日期格式为YYYY-MM-DD正则表达式为: (([0-9]{3

    47770

    如何做到每天比别人少写200行代码?

    9]{2}|[1-9][0-9]{3} 其中 [0-9] 也可以表示为 \d,但 \d 不如 [0-9] 直观,因此下面我将一直采用 [0-9] 用正则表达式验证日期难点有二:一是大小月份天数不同...对于第一个难点,我们首先不考虑闰年,假设2月份都是28天,这样,月份日期可以分成三种情况: (1)月份为 1, 3, 5, 7, 8, 10, 12,天数范围为 01 - 31,匹配MM-DD正则表达式为...)-(0[1-9]|[12][0-9]|30) (3)月份为 2,考虑平年情况,匹配MM-DD正则表达式为: 02-(0[1-9]|[1][0-9]|2[0-8]) 根据上面的成果,我们可以得到匹配平年日期格式为...._])(29)$)) 闰年2月份有29天,因此匹配闰年日期格式为YYYY-MM-DD正则表达式为: (([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[...48]|[2468][048]|[3579][26])00))-02-29 最后,将平年闰年日期验证表达式合并,我们得到最终验证日期格式为YYYY-MM-DD正则表达式为: (([0-9]{3

    50320

    【JS】380- JavaScript 正则新特性

    虽然大多数语言中内置函数足以对字符串执行搜索替换操作,但更复杂操作(例如验证文本输入)通常需要使用正则表达式。...先行断言指的是,x 只有在 y 前面匹配。 先行断言有两种:肯定否定。先行肯定断言语法是 (?=...)。例如,正则表达式 /Item(?...最后,如果在正则表达式中使用了具名组匹配,则保存在 groups 属性。在这种情况下, groups 值为 undefined 是因为没有具名组匹配。 先行否定断言语法是 (?!...)。...后行肯定断言确保匹配字符串前面有两个数字,后行否定断言确保数字不是35。 具名组匹配 正则表达式可以通过将字符封装在括号中对正则表达式一部分进行分组,可以在内部反向引用匹配组。...假设匹配日期,由于在某些地区日期月份位置交换,因此不清楚哪个组指的是月份,哪个组指的是日期: const re = /(d{4})-(d{2})-(d{2})/; const match = re.exec

    1K20

    数据库SQL语句大全——最常用SQL语句

    使用时放在列名前面 2、多查询一个及以上列时,除非你查询所有列数据都不同,否则所有行都将被检索出来 限制检索结果: SELECT pname FROM product LIMIT 5,5 limit5,5...'Abc' ORDER BY pname OR匹配 SELECT pname FROM product WHERE pname REGEXP 'a|b' 几种常见正则表达式 [0-9] 匹配...:] 任意大写字母(同[A-Z]) [:xdigit:] 任意十六进制数字(同[a-fA-F0-9]) 匹配多个实例 * 0个或多个匹配 + 1个或多个匹配(等于{1,}) ?...0个或1个匹配(等于{0,1}) {n} 指定数目的匹配 {n,} 不少于指定数目的匹配 {n,m} 匹配数目的范围(m不超过255) 定位符 ^ 文本开始 $ 文本结尾 [[:<:]] 词开始...() 返回一个时间小时部分 MINUTE() 返回一个时间分钟部分 MONTH() 返回一个日期月份部分 NOW() 返回当前日期时间 SECOND() 返回一个时间秒部分 TIME() 返回一个日期时间时间部分

    3K30

    Date与RegExp常见用法

    Date 定义 使用 Date 构造函数 可以使用 Date.parse() Date.UTC() 来作为参数传入 Date构造函数中 parse接受是特定格式日期字符串,不同浏览器...toString() toLocalString() 方法 他们会根据不同浏览器不同时区格式返回表示日期字符串。...,从0开始 常用模式符号 元字符 \d 匹配数字,\D 匹配非数字 \w 匹配字母、数字、汉字、下划线,\W 前面的非情况 \s 匹配任意空白符,包括回车、制表、换行,\W 匹配任意非空白符 ....号匹配空白符以外所有字符 [] 匹配方括号中所有字符,[^] 前面的非情况 连接符 符号 -,在方括号中使用,指定范围,n~m,[n-m],一般指数字字母范围 限定符 规定指定字符出现次数...,input 表示正则表达式应用到字符串。

    86820

    Android 正则表达式

    使用   正则表达式可以是单个字符、字符集合、字符范围、字符间选择或者所有这些组件任意组合。包括普通字符(例如,a 到 z 之间字母)特殊字符(称为"元字符")。...0次或1次 {n} 刚好n次 {n,m} n到m次 上述操作貌似没有什么实际意义,那么下面写一点有意义例子。 1. 手机号判断 比如说检查13、15、19开头手机号,那么就可以这么写。...((0[1-9])|(1[0-2])) 表示月份月份是01 - 12。...(0[1-9]),表示0开头,[1-9]就可以匹配0之外任意一个数字,如果月份不是0开头,就会进入(1[0-2]),匹配范围就是10、11、12。...(([0-2][1-9])|10|20|30|31),这里表示日期,01-31。([0-2][1-9])表示,01-09、11-19、21-29,然后通过|10|20|30|31补齐剩余日期

    1.5K20

    VBA: 正则表达式(10) -非捕获组(?:Expression)

    1 捕获组2 非捕获组3 非捕获组应用场景 1 捕获组 捕获是指在正则表达式中使用括号来匹配提取一部分文本。这个被括号包裹部分被称为捕获组,可以通过VBA代码访问处理。...例如,正则表达式(foo)\d+会匹配以foo开头,后面跟着一个或多个数字字符串。其中(foo)是一个捕获组,表示我们要匹配提取是以foo开头部分。...(0).SubMatches(0) & vbCrLf & "捕获组 2: " & matches(0).SubMatches(1) Else MsgBox "没有匹配...举例:假设我们想匹配一段文本中日期,但只关心年份月份,而不关心具体日。在这种情况下,可以使用非捕获组来排除日匹配正则表达式:(\d{4})-(\d{2})(?:-\d{2})?...来表示日部分,但并不生成一个独立捕获组。 2) 这个正则表达式可以匹配类似于 "2022-01" 或 "2022-01-15" 日期格式,但我们只关心年份月份

    46210
    领券