Пример строки:Java - эффективное регулярное выражение, чтобы соответствовать дате и времени
00000018.000f1b1f 0101559e Чт Май 19 2016 00:24:14 -05: 00 [к ....
. .. упоминает нежелательные слова.
Нет такой спецификации, как 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
не является обязательным.
Любые предложения?
Ваше выражение выглядит хорошо для меня, если вы используете флагов, нечувствительный к регистру. Просто '[+ | -]' должен быть заменен на '[+ -]'. Не нужно бежать ':'. И если вы используете 'matcher.find', не нужно использовать'. *? 'В начале и конце. –
@ WiktorStribiżew Да, конечно. Я буду использовать 'matcher.find'. Я избегу и включу флагом, нечувствительным к регистру. Благодарю. –