社区
基础编程
帖子详情
求一个日期的正则表达式
uzi
2007-01-14 11:40:23
需要从文档里面提取出日期,求个正则表达式,能符合如下格式:
2007-1-2
2006-12-30
2007-01-02
2007-1-12
其中的"-"还可以用"/"取代,自己折腾了好久实在搞不定啊。
如果一个正则表达式实在搞不定,也可以用多个
...全文
469
8
打赏
收藏
求一个日期的正则表达式
需要从文档里面提取出日期,求个正则表达式,能符合如下格式: 2007-1-2 2006-12-30 2007-01-02 2007-1-12 其中的"-"还可以用"/"取代,自己折腾了好久实在搞不定啊。 如果一个正则表达式实在搞不定,也可以用多个
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
icemanlikefish
2007-01-15
打赏
举报
回复
提取是不太好正则表达式提取的.但是,可以用力检测一下.
我用的js代码是这样的:
function getd(sd){
re=/^[\d]{4}[\/-]{1}[\d]{1,2}[\/-]{1}[\d]{1,2}$/;
if(re.exec(sd)==null)
{
alert("Err");
}else{
alert("OK");
}
}
getd("2005-2-234");
iasky
2007-01-15
打赏
举报
回复
要看你的文档是什么呢
ishion
2007-01-15
打赏
举报
回复
帮顶,关注
懒得去死
2007-01-15
打赏
举报
回复
<?php
$str1 = '2007-1-15';
$str2 = '2007-01-15';
preg_match("/^[\d]{4}[\/-]{1}[\d]{1,2}[\/-]{1}[\d]{1,2}$/is",$str1,$match1);
preg_match("/^[\d]{4}[\/-]{1}[\d]{1,2}[\/-]{1}[\d]{1,2}$/is",$str2,$match2);
print_r($match1);
print_r($match2);
?>
===============
---------- David程序调试 ----------
Array
(
[0] => 2007-1-15
)
Array
(
[0] => 2007-01-15
)
Output completed (0 sec consumed) - Normal Termination
bjbs_270
2007-01-15
打赏
举报
回复
<?php
$str = "2007-1-2,2006/12/30,2007-01-02,2007-1-12";
$patten = "/[0-9]{4}(\/|-)[0-9]{1,2}(?:\\1)[0-9]{1,2}/";
preg_match_all($patten,$str,$arr);
print_r($arr);
?>
结果:
---------- Debug php ----------
Array
(
[0] => Array
(
[0] => 2007-1-2
[1] => 2006/12/30
[2] => 2007-01-02
[3] => 2007-1-12
)
[1] => Array
(
[0] => -
[1] => /
[2] => -
[3] => -
)
)
Output completed (0 sec consumed) - Normal Termination
swswssw
2007-01-15
打赏
举报
回复
如果要进行严格的验证,比如说1月有31天,闰年2月28天等等这样的验证,就比如烦,不过估计你这里不会要这么严格的,以前看过一个招说是超强的日期正则,你可以参考一下
^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$
swswssw
2007-01-15
打赏
举报
回复
如果不考虑月分和天数的严格约束的话:
^[12]\d{3}[-/](0[1-9]|1[0-2]?|[2-9])[-/](0[1-9]|[12][0-9]?|3[01]?|[4-9])$
上面这个是按你的格式要求写的并没有考虑1000年以下和3000年以上的,也没有考虑月分和天数间的验证等,应该可以满足不是很严格的日期匹配场合,你只是在文档里提取的话已经足够了
hymxtang
2007-01-15
打赏
举报
回复
学习~~
日期
正则表达式
(很实用)
日期
正则表达式
(很实用)
日期
正则表达式
(很实用)
日期
正则表达式
(很实用)
日期
正则表达式
(很实用)
正则表达式
(
日期
校验)
正则表达式
日期
校验
正则表达式
日期
校验
正则表达式
日期
校验
java基础类库
Java提供了丰富的基础类库,Java 8提供了4000多个基础类,这些类可以帮我们降低...
正则表达式
是
一个
强大的文本处理工具,通过
正则表达式
可以对文本内容查找、替换、分割等操作。 Java还提供了非常简单的国际化支持。
万能
日期
正则表达式
(适用于各种
日期
样式)绝对经典
万能
日期
正则表达式
(适用于各种
日期
样式)适用于yyyy(或yy)-(或空格)MM(或MMM,比如Jan,Feb..) dd HH:mm:ss(后面还可以选择性显示时间)顺序也可以是各式各样的可以月份提前 MM(MMM)-dd-yyyy(yy) MM(MMM) dd yyyy(yy)也可以
日期
提前 dd-MM(MMM)-yyyy(yy) dd MM(MMM) yyyy(yy)位置随便你改变,中间的连接符平常用的是'-'和' '想显示时间就显示时间使用方法:方法GenerateDateTimeReg(string formateType)中传入
一个
datetime的formate格式,后面的工作就等着取Reg
正则表达式
吧。哈哈用的话直接用,如果想测试正确性,把返回的Reg字符串里面的“\\”改成“\”就可以了,原因就不说了,只要你编程过应该就知道。
关于
日期
的
正则表达式
这个
一个
关于
日期
的
正则表达式
文档,希望各位在写时间的js验证时能够用的到!
基础编程
21,887
社区成员
140,363
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章