регулярное выражение, как сопоставить дд ммм гггг, чтобы выбрать только первые две цифры года - PullRequest
2 голосов
/ 15 марта 2019

У меня есть дата, имеющая столбец даты в формате dd mmm yyyy.

Мне нужно сопоставить только первые две цифры года, чтобы я заменил их на пустой и получил формат dd mmm yy.

Пример 15 Mar 2019: необходимо сопоставить первые две цифры года, т.е. 20, если дата 20 Mar 2019 Мне нужно только соответствовать первым двум цифрам года, это не должно совпадать с датой, которой должно соответствовать только 20 в поле года. Пожалуйста, помогите.

Ответы [ 2 ]

3 голосов
/ 15 марта 2019

Вы можете использовать этот шаблон с обходными путями: (?<=^\d\d [a-zA-Z]{3} )(?=\d{4}$)\d{2}

Пояснение:

(?<=^\d\d [a-zA-Z]{3} ) - оглянуться назад - утверждает, что предшествует:

^ - начало строки

\d\d - две цифры

[a-zA-Z]{3} - пробел, три буквы (верхний или нижний регистр), пробел

(?=\d{4}$) - взгляд в будущее, который утверждает, что следующее:

\d{4} - четыре цифры

$ - конец строки

Если эти два утверждения заполнены, сопоставьте две цифры с \d{2}

Демо

0 голосов
/ 15 марта 2019

извините, но я предполагаю, что вы используете php. если да, вам не нужно регулярное выражение для этого, вы можете легко получить первые 2 цифры, используя строковые функции, такие как:

<?php
$date_str = "15 mar 2019";
$date_pieces = explode(" ", $date_str); //spliting by space
$date_year = $date_pieces[2]; // 3rd piece
$year_initials = substr($date_year, 0, 2); // output: 20
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...