java - 与包含冒号的正则表达式匹配字符串

标签 java

我尝试匹配从不同文件解析的不同日期格式。一种日期格式例如:“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/

相关文章:

java - JAVA 中 URL 背后的逻辑

java - 将平面 json 解析为带有类别的数组

java - 将流收集到LinkedList

java - 调用接口(interface)方法而不指定实现接口(interface)的类

Java,用空白字符串替换字符串数字并删除数字后的所有内容

java - Eclipse 调试 : Source Not Found while remote debugging

java - 如何在 Java 中使用枚举作为数组下标

java - 从部署在 Apache Tomcat 上的 Java 代码执行命令

java - 使用 selenium webdriver 处理多个表

java - StringBuilder.append 链是否比字符串连接更有效?