|
|
1
6
|
|
|
2
4
但这样做的缺点是它会接受无效日期,比如2009-02-30。同样,如果您处理的日期成功地将其输入到数据库中的日期类型字段中,那么您应该是安全的。
|
|
3
3
怎么样
|
|
|
4
2
\d可以匹配其他语言的数字字符。YYY真的是一个有效的年份吗?如果必须是四位数,破折号,两位数,破折号,两位数,我更喜欢
当然,除了第二个示例中的第一个字符外,这不会检查存在的字符的合理性。如果需要,最好将其传递给日期解析模块,然后检查其输出的逻辑结果。 |
|
|
5
1
你可以从以下几点开始:
|
|
|
6
1
最好的轻量级解决方案是使用 Date::Calc 子程序,下面是一个示例:
我希望这会有所帮助:-) |
|
|
7
0
我强烈建议不要编写自己的正则表达式来实现这一点。日期/时间解析很简单,但有一些棘手的方面,这是一个已经解决了数百次的问题。无需再设计、编写和调试另一个解决方案。
如果您只想解析特定的日期格式,那么最好使用Dave Rolsky优秀的DateTime模块的众多解析/格式化插件之一。 如果要在匹配日期/时间值之后验证它们,我建议使用我的time::Normalize模块。
|
|
|
8
0
我认为在没有外部检查的情况下使用正则表达式非常复杂!我用一个小潜艇来获得它:
我的想法(以及大部分代码)来自 regular-expressions.info |
|
|
Carsten · 使用最近的搜索模式更改文本块 1 年前 |
|
|
A.Ellett · 测试-t STDIN与-t<STDIN> 1 年前 |
|
|
con · 如何跳转到foreach迭代的特定点? 1 年前 |