gpt4 book ai didi

Java - 高效的正则表达式来匹配日期和时间

转载 作者:行者123 更新时间:2023-11-30 02:39:12 32 4
gpt4 key购买 nike

示例字符串:

00000018.000f1b1f 0101559e Thu May 19 2016 00:24:14 -05:00 [k....

...提到了不需要的词。

没有像 Thu 这样的规范,如果我们用空格分隔,则始终是第三个字符串。它可以位于字符串中的任何位置。我想匹配 Thu May 19 2016 00:24:14 -05:00 并使用 simpedateformat 类进行解析。

我正在考虑一些正则表达式,例如 .*?((sun|mon|tue|wed|thu|fri|sat)\s* (jan|feb|mar|apr|may|jun|jul|aug |sep|oct|nov|dec)\s+\d{0,2}\s+\d{0,4}\s+\d{0,2}\:\d{0,2}\:\d{ 0,2}\s+([+|-]\d{0,2}:\d{0,2})?).*?

我不擅长正则表达式。请帮助我改进我的正则表达式,它可以通过 simpledateformat 类轻松解析。 -05:00 是可选的。

有什么建议吗?

最佳答案

您的正则表达式看起来不错,但您可以通过将搜索限制为单个空格和固定位数来提高性能

(?i)\b((sun|mon|tue|wed|thu|fri|sat) (jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov |dec)\d{1,2}\d{4}\d{2}\:\d{2}\:\d{2}( [+|-]\d{2}:\d{2 })?)

然后你可以循环搜索它 (while (matcher.find()) ...)

请记住,日期格式取决于应用程序区域设置。期望某种格式将使您的应用程序变得脆弱。

关于Java - 高效的正则表达式来匹配日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42268414/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com