2012-06-27 3 views
0

Я ищу регулярное выражение, которое может найти альфа-представление месяца вместе с числовым годом, за которым следует его.Regex, чтобы найти дату в строке

Примеры:

  • Сегодняшний месяц июнь 2012

  • Это setence, содержащий дату мая 2012 года и это все.

  • декабря 2012

  • июня 2012 дата этого года

ответ

1

Для ваших конкретных примеров вы можете сделать это с чередованием для названий месяцев и \d{4} за год:

/\b(?:January|February|March|...|December)\s+\d{4}\b/i 

i не подходит к регистру.

\b - это границы слов.

Я предполагаю, что годами являются любые четыре цифры, хотя вы, конечно, можете расширить (или ограничить) этот диапазон, в зависимости от потребностей вашего приложения.

+0

Великий и им при условии, просто сбросив '/ я' игнорировать регистр? – Atticus

+0

Ознакомьтесь с http://kuxyz.blogspot.ro/ о том, как ограничить числовой диапазон до любого диапазона, который вы хотите. –

+0

@ Ωmega: Я опубликовал сначала, так как я мог скопировать вас? (Для записи я не думаю, что вы скопировали меня - это самый очевидный ответ.) –

1

Оно должно быть:

/\b(?:January|February|March|April|August|September|October|November|December)\s+\d{4}\b/i 
Смежные вопросы