java yyyy-mm-dd正则表达式_关于Java:yyyy-mm-dd的正则表达式日期验证
本问题已经有最佳答案,请猛点这里访问。
日期格式yyyy-mm-dd的正则表达式是什么?
我想验证来自edittext的电子邮件,并检查它是否与正则表达式匹配。
也可以在"相关"部分的右侧查看,在很多情况下,都需要使用RegEx字符串进行日期验证。
检查此答案可能有帮助stackoverflow.com/a/2149698/2675669
这将匹配yyyy-mm-dd以及yyyy-m-d:
^\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])$
如果您正在寻找yyyy-mm-dd的完全匹配项,请尝试以下操作
^\d{4}\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$
或者如果您需要在类似The date is 2017-11-30的字符串中查找日期,请使用此日期
\d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])*
https://regex101.com/r/acvpss/1
您是如何产生图形的?
@AllanXu来自名为debuggex的网站
不完整!正则表达式也应该匹配2016-02-31,但不应该:(
@Djack你在说什么?如果要在其上强制使用实际日期,则不能使用正则表达式。解析日期,并确保其实际有效,无论您使用哪种语言。这只是确保其数字以连字符分隔,并且是可行的一天(少于32天)
@Vinod的正则表达式允许9(没有前面的0)匹配为true。这是故意的吗?
@AlanH您可以使用^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$。这样,如果缺少前导零,则正则表达式将返回false。
但它也接受2017-02-31
它也匹配2017-0210-31
这不能很好地工作,它接受yyyy-m-d,没有严格执行yyyy-mm-dd
它匹配" 1984-9-35"的" 1984-9-3"部分。
一个简单的是
\d{4}-\d{2}-\d{2}
Debuggex演示
但这并不将月份限制为1到12,将日期限制为1到31。
像其他答案一样,还有更复杂的检查,非常聪明。但是,您必须检查一个有效的日期,因为不会检查一个月是否有28、30或31天。
哇。将近4年后的第一次投票。这不值得再加上一个徽章吗? ;)
是的,它仍然应该被否决。这个答案是完全错误的,因为它不是用于日期验证的正则表达式。
为什么明明是错误的?正则表达式和规定的限制是正确的。我想念什么?
它不是问题的真正答案,因为它不验证日期,仅验证" 4位数字后接破折号,然后是2位数字,然后是破折号再加上2位数字"。就像说2 + 2是3,但您需要添加1。
仅将此注释添加到此答案也是误导性的。从这个意义上讲,其他答案也是不正确的,因为它们也不完整,无法对其进行验证。但是,如果您愿意,我可以称其为评论或大型评论。
它的选票太多,尤其是它的事实。
您可以使用此正则表达式获取yyyy-MM-dd格式:
((?? 19 | 20) d d)-(0?[1-9] | 1 [012])-([12] [0-9] | 3 [01] | 0?[1-9 ])
您可以找到日期验证的示例:如何使用正则表达式验证日期。
他想要yyyy-mm-dd。
我已经更新了答案。
您可以测试此表达式:
^\d{4}[\-\/\s]?((((0[13578])|(1[02]))[\-\/\s]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\-\/\s]?(([0-2][0-9])|(30)))|(02[\-\/\s]?[0-2][0-9]))$
描述:
验证yyyy-mm-dd,yyyy-mm dd或yyyy / mm / dd日期
确保日期在该月的有效范围内-不验证a年2月29日,只有2月可以有29天
匹配项(经过测试):0001-12-31 | 9999 09 30 | 2002/03/03
为什么这个答案被否决?对我来说效果很好
您可以编辑答案并将代码放入代码标签中吗?
编辑成标签:)
这同时接受2000-02-29和2001-02-29作为匹配项
java yyyy-mm-dd正则表达式_关于Java:yyyy-mm-dd的正则表达式日期验证相关推荐
- 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目
王者荣耀是当下热门手游之一,小伙伴们是否想过如何制作一款属于自己的王者荣耀游戏呢? 本课程讲解了一个王者荣耀游戏的详细编写流程,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE ...
- java 序列化成xml文件_将Java对象序列化成JSON和XML格式
1.先定义一个Java对象Person: public class Person { String name; int age; int number; public String getName() ...
- java web 开发之道_《Java Web开发之道》PDF 下载
图书目录: 第1篇 编程 经验与 感悟篇 第1章 编程 经验谈6则 经验01 乐不思蜀--寻找编程的乐趣 经验02 水滴石穿--编程学习 经验谈 经验03 举足轻重--代码规范 经验谈 经验 ...
- java判断string是数字_(转)java判断string变量是否是数字的六种方法小结
1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < str.length(); i++){ ...
- java如何输出一个竖线_关于java:使用竖线字符(“|”)拆分字符串
本问题已经有最佳答案,请猛点这里访问. 我无法从此字符串中拆分值: "Food 1 | Service 3 | Atmosphere 3 | Value for money 1" ...
- java课后习题七解析_《Java基础入门》_课后习题解析.doc
<Java基础入门>_课后习题解析 <Java基础入门>课后习题 Java开发入门 一.填空题 1.Java的三大体系分别是_JavaSE_____._JavaEE_____. ...
- java jsp取静态常量_获取java静态
Android NDK开发系列教程4:对类变量进行操作 终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~ 通常我们 ...
- java课后习题及答案_《java基础入门》课后习题及答案.doc
<java基础入门>课后习题及答案.doc <Java 基础入门>课后习题及答案博学谷--让 IT 教学更简单,让 IT 学习更有效<Java 基础入门> 课后习题 ...
- java打印args的内容_解决java main函数中的args数组传值问题
这几天面试中有遇到关于main数组中的args数组传值的问题,一般是从命令提示符中传值,也可以直接在java代码中赋值. 而且这个数组的长度是动态的,根据传值的个数确定数组的长度. 1.从命令提示符中 ...
最新文章
- EOS Cleos 命令使用指南
- linux rpc.statd服务 获取系统性能统计 简介
- eclipse 设置 按键提示
- EasyUI之简单实现Datagrid分页(C#)
- thinkPHP开发基础知识 包括变量神马的
- 降Mail十八章(下)
- 人工智能之华为云ModelArts的深度使用体验与AI Gallery应用开发实践
- C#中实现鼠标拖动窗体的方法
- 安装配置好openstack环境的虚拟机,须要改动ip时,在数据库中同步改动ip的方法...
- opencv:卷积涉及的基础概念,Sobel边缘检测代码实现及卷积填充模式
- 前端学习(3060):vue+element今日头条管理-处理展示文章封面
- 7-59 翻转单词顺序 (20 分)
- I9 9900K线程_收藏党抓紧了!英特尔停产i9-9900K特色包装,只因运输太浪费
- mysql利用init-connect增加访问审计功能的实现
- 虚拟机不能上网以及无法ping通百度的解决方案
- Datawhale编程学习之栈和队列(2)
- c++ strcmp函数
- 元数据 数据元 释义
- 手机图片怎么转文本?
- BZOJ 1127 [POI2008]KUP 最大子矩阵