我尝试匹配从不同文件解析的不同日期格式。一种日期格式例如:“Thu, 12 Nov 2009 14:17:44 -0000”
当我尝试将此字符串与第一个正则表达式匹配时,我得到一个 true 结果,当我使用第二个正则表达式时,我得到 false。
[A-Za-z]{3},\\s+\\d{2}\\s+[A-Za-z]{3}\\s+\\d{2}.* (1. regex)
[A-Za-z]{3},\\s+\\d{2}\\s+[A-Za-z]{3}\\s+\\d{2}:.* (2. regex)
在我看来,两个正则表达式都应该与上面的日期格式匹配。我的失败在哪里?
最佳答案
我怀疑最后一部分“\s+\d{2}:.*”是与“14:”匹配的,但你忘记了年份。因此解析器需要一个“:”,但在 2009 年找到了第二个零。
你需要的是这样的:
[A-Za-z]{3},\\s+\\d{2}\\s+[A-Za-z]{3}\\s+\\d{4}\\s+\\d{2}:.* (2. regex)
(我认为应该通过:))
关于java - 与包含冒号的正则表达式匹配字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10510633/