【发布时间】:2010-03-11 22:58:53
【问题描述】:
我想在 .NET 中使用正则表达式验证和提取小时和分钟从字符串。
只是为了恢复由: 分隔(或不分隔)的两个数字。接受的格式
h:m 或 m。未接受:m、h:。
编辑: 请注意,小时数可能会溢出 23 到... 32。
值小时(超过 32)和分钟(超过 59)的溢出我将在值恢复后(int.Parse)
* 只是为了好玩也许有一个相对简单的正则表达式可以过滤 >32 小时和 >59 分钟(对于 分钟 它可能是[0-5]*[0-9],我不知道几个小时)?
【问题讨论】:
-
在 Java 中,您只需使用非宽松解析器将字符串解析为 Date 对象并捕获异常(表示失败)。 .NET 中不存在某些东西?
-
对不起,请提问。没有那种反复试验的态度,你永远学不会真正编码。一旦你真的陷入困境,每个人都很乐意帮助你!
-
@moritz:这不是代码学习。只是一个复杂的正则表达式 IMO。
-
我建议您阅读更多有关正则表达式的内容,因为这是一项简单的任务。转到regular-expressions.info,当您开始对这个主题感到有点舒服时,您可以使用txt2re.com 等工具。不要更改顺序,否则您仍然无法编写任何正则表达式 - 您必须始终了解您在写什么。
-
@przemoc:感谢您的建议和链接。我知道第一个,有趣的是前者。但是,如果您向所有人发送 expression.info 或 MSDN 正则表达式参考,那么有很多人询问正则表达式,我不知道答案是否会让每个人都满意。你也可以给他们维基百科或一般的互联网访问并告诉他们:搜索和学习:) 谢谢。