Регулярное выражение для даты (месяц дд, гггг)

Я использую этот инструмент PDF Compare (ExamDiff Pro) и пытаюсь выяснить, как исключить любые слова, которые соответствуют потенциальной дате. Конкретный формат даты в документе, который я сравниваю, использует что-то вроде: "20 января 2014"

Может ли кто-нибудь помочь мне выяснить регулярное выражение для этого?

Я нашел результаты по схожим вопросам, но они были достаточно разными, чтобы я не смог их выяснить:/

Спасибо!

2 ответа

Я не уверен, как работает ваш инструмент, но вот тот, который должен найти именно то, что вы хотите с предоставленным вами примером:

\w{3,9}?\s\d{1,2}?\s,\s\d{4}?


Часть 1: \w{3,9}? - Это позволяет найти последовательность слов длиной от 3 до 9 символов как можно меньше раз (short= май (3), long= сентябрь (9))
Часть 2. \s - это то, что называется "пробелом" или пробелом, если хотите.
Часть 3: \d{1,2}? - Это позволяет найти последовательность цифр (0-9) несколько раз один раз и столько же раз, сколько в два раза меньше (возможно, для диапазона 1-31).
Часть 4: \s,\s - это находит пробел, за которым следует запятая, а затем еще один пробел
Часть 5: \d{4}? - это находит последовательность из 4 цифр как можно меньше раз (год 1000-2014 и далее)

Достаточно ли этого для того, что вы искали?

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

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

\w+\s\d{2},\s\d{4}

Объяснение:

\w+    -- Find one or more word characters
\s     -- a white space character
\d{2}  -- 2 digits
,      -- a literal comma
\s     -- another space
\d{4}  -- 4 digits

Ты можешь попробовать ^[0][0-9]([1][0-2])$ для проверки месяца с 01 по 12

Другие вопросы по тегам