日期正则表达式和字符串比较
- 可用内容:未知格式的字符串、当前日期。
- 可以提供什么:日期正则表达式
- 需要做什么:根据指定的日期正则表达式解析字符串并获取日期
详细信息:我实际上是在尝试从文件名中提取日期。一些正则表达式或类似的东西可以通过配置提供。
所以问题分为两部分:
- 到底应该提供什么 配置(只是正则表达式或者我应该 使用 cosum 简单的东西或者也许 某些库存在)?
- 什么是最 最优处理算法(即 有一个字符串,我可以调用 匹配它,但那就是 结果尝试了所有可能的方法 子串)?
- What is available: a string of unkown format, current date.
- What can be provided: date regexp
- What needs to be done: parse string according to specified date regexp and obtain date
Details: I'm actually trying to extract a date from the file name. Some regexp or something similar can be provided through config.
So the question is devided in two parts:
- What exactly should be provided in
the config (just regexp or should I
use cosum simple stuff or maybe
certain libs exist)? - What's the most
optimal processing algorithm (i.e.
there's a string, and I can call
matches on it, but that's gonna
result in trying all the possible
substrings)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不确定正则表达式是否是正确的方法。即使您确实为年/月/日期等创建捕获组,您如何让用户定义哪个捕获组对应于哪些数据?
我建议您查看
SimpleDateFormat< /代码>
。该类接受的格式字符串相当灵活且用户友好。给出了一个示例
4 Jul 2001 12:08:56
您可以将其与
"d MMM yyyy HH:mm:ss"
SimpleDateFormat
是有能力的给定格式字符串的解析日期。I'm not sure a regular expression is the right approach here. Even if you do create capture groups for year / month / date and so on, how would you let the user define which capture group corresponds to which data?
I would suggest you have a look at
SimpleDateFormat
. The format string accepted by this class is fairly flexible and user-friendly. An example is given4 Jul 2001 12:08:56
you can match it with
"d MMM yyyy HH:mm:ss"
The
SimpleDateFormat
is capable of parsing dates, given the format string.