регулярное выражение для даты в Java - PullRequest
0 голосов
/ 27 апреля 2010

Может кто-нибудь помочь мне, что будет регулярным выражением в Java для строки "26 февраля 2009 8:08 утра PST" ????

Ответы [ 5 ]

4 голосов
/ 27 апреля 2010

Используйте SimpleDateFormat вместо использования регулярного выражения. Прочитайте учебник для получения дополнительной информации.

UPD: регулярное выражение будет выглядеть так: "(Jan|Feb|Mar).*PST" где список месяцев должен содержать все 12 (вместо 3, как в моем примере). Но это очень и очень ненадежно.

1 голос
/ 27 апреля 2010

SimpleDateFormat с синтаксическим анализом, вероятно, будет проще в 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);
}
0 голосов
/ 27 апреля 2010

я думаю, что мой подход неверен. Если я использую str.split ("регулярное выражение для даты"); извлечь все даты из текста. Это не будет сделано, но он сохранит другой текст и разделит документ, когда произойдет дата.

Как мне сделать то, что я собираюсь сделать, то есть из текста извлечь все даты в массиве, который соответствует вышеуказанному формату даты ??

0 голосов
/ 27 апреля 2010

На самом деле это простая дата с указанным выше форматом. Мне просто нужно сопоставить даты из огромного текстового документа и извлечь их.

str.split ("регулярное выражение на указанную дату");

0 голосов
/ 27 апреля 2010

да, но проблема в том, что дата, которую я пытаюсь извлечь, вложена в некоторый текст. Поэтому я искал регулярное выражение и использовал его с методом разделения строк в Java, чтобы извлечь даты из конкретной строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...