【发布时间】:2010-04-27 18:04:32
【问题描述】:
谁能帮我在java中字符串“Feb. 26, 2009 8:08 AM PST”的正则表达式是什么????
【问题讨论】:
谁能帮我在java中字符串“Feb. 26, 2009 8:08 AM PST”的正则表达式是什么????
【问题讨论】:
使用SimpleDateFormat 而不是使用正则表达式。阅读the tutorial了解更多信息。
UPD:正则表达式看起来像:"(Jan|Feb|Mar).*PST" 其中月份列表应包含全部 12 个(而不是我的示例中的 3 个)。但它非常非常不可靠。
【讨论】:
SimpleDateFormat 使用 parse 在 Java 中可能会更简单。请参见下面的示例。 Javadoc 显示了模式中每个字母的含义。
DateFormat formatter = new SimpleDateFormat("MMM. dd, YYYY h:mm a Z");
Date date = null;
try {
date = formatter.parse(datestring);
} catch(ParseException pe) {
throw new IllegalArguementException(datestring + " is not properly formatted!", pe);
}
【讨论】:
是的,但问题是我试图提取的日期嵌套在一些文本中。所以我一直在寻找一个正则表达式,并将它与 java 中的字符串拆分方法一起使用,以从特定字符串中提取日期。
【讨论】:
它实际上是一个简单的日期,只是上面的格式。我只需要从一个巨大的文本文档中匹配日期,然后将它们提取出来。
str.split("上述日期的正则表达式");
【讨论】:
我认为我的方法是错误的。如果我使用 str.split("regex for date");从文本中提取所有日期。它不会这样做,但它会保留其他文本并在日期发生时拆分文档。
我该如何做我打算做的事情,即从文本中提取所有日期,最好放在一个与上述日期格式相对应的数组中??
【讨论】:
Pattern 和 Matcher。那些会做你想做的。另外,考虑使用 cmets 并编辑您的原始帖子。这将是一个理想的编辑。