Регулярное выражение для извлечения английских дат - PullRequest
0 голосов
/ 01 ноября 2011

В поле повествования этого набора данных, с которым я работаю, у меня есть такие записи:

  • Dec10
  • Jan11
  • Июль-Aug10
  • Jun09-Oct11
  • одежда с обувью июнь08-сентябрь11
  • Задания на сентябрь-декабрь10

Какое регулярное выражение я могу использовать для получения этих данных:

  • Dec10
  • Jan11
  • Июль-Aug10
  • Jun09-Oct11
  • June08-Sept11
  • сентябрь-Dec10

Изменить (В ответ на Дэн): я пытался

  • "(январь \ d * | февраль \ d * | Мары \ d * | апрель \ d * | может \ d * | июнь \ d * | июнь \ d * | Июль \ d * | июль \ d * | августе \ d * | сентябрь \ d * | сентябрь \ d * | октябрь \ d * | ноябрь \ d * | декабрь \ d *) "

Но это может потянуть только первые две записи успешно, а именно:

  • Dec10
  • Jan11
  • Июль
  • June08
  • 1054 * сентябрь *

1 Ответ

0 голосов
/ 01 ноября 2011
(?:Jan|Feb|...)                 # first month name
[0-9]{2}                        # first two digits
(?:                             # optional:
  -                             #   -
  (?:Jan|Feb|...)               #   second month name
  [0-9]{2}                      #   second two digits
)?

Должно работать.

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

...