Как сопоставить период времени с регулярным выражением? - PullRequest
0 голосов
/ 01 октября 2019

В настоящее время я использую следующее регулярное выражение для поиска периодов времени:

.*(30 minutes|1 hour|1 hour 30 minutes|2 hours|2 hours 30 minutes|3 hours|3 hours 30 minutes|4 hours)

Как я могу упростить его и поддерживать большее количество периодов здесь (например, до 24 часов)?

1 Ответ

1 голос
/ 01 октября 2019

Вы можете факторизовать 30 minutes следующим образом:

(30 minutes|1 hour(?: 30 minutes)?|(?:[2-9]|1[0-9]|2[0-4]) hours(?: 30 minutes)?)

Где:

  • (?: 30 minutes)? означает опцию 30 минут
  • (?:[2-9]|1[0-9]|2[0-4]) являетсядиапазон от 2 до 24 часов
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...