Регулярное выражение, чтобы не заканчиваться определенными словами

#javascript #regex

#javascript #регулярное выражение

Вопрос:

Мне нужно иметь регулярное выражение, которое соответствует следующему —

 /drama/uk
/drama/uk/
/drama/us
/drama/us/
/drama/fr
/drama/fr/
  

но не должно соответствовать следующему —

 /drama/uk-uk
/drama/uk-uk/
/drama/us-us
/drama/us-us/
/drama/fr-fr
/drama/fr-fr/
  

До сих пор мне удавалось заставить первый параметр работать следующим образом

 //drama/uk|uk/|us|us/|it|it/|fr|fr/$/
  

Но я не знаю, как заставить вторую часть работать. Может ли кто-нибудь помочь, пожалуйста

Ответ №1:

Вы могли бы использовать привязку для начала строки ^ , затем сопоставить /drama/ и использовать чередование с группой без захвата, чтобы перечислить все альтернативы.

Косая черта в конце может быть необязательной.

 ^/drama/(?:uk|us|fr)/?$
  

Демонстрация регулярных выражений