Python Regex исключает совпадения с буквами после / - PullRequest
0 голосов
/ 11 января 2019

У меня есть 3 строки следующим образом:

/ Foo

/ Foo /

/ Foo / бар

Если строки соответствуют первым 2 скороговоркам, которые я хочу вернуть True

Если в строке есть что-то после второй косой черты, я хочу вернуть False

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

re.match(r"^/[a-z]+/?", string)

Я не могу понять, как исключить третий шаблон. Пожалуйста помоги. : -)

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Вы можете использовать $ для обозначения конца строки:

^/[a-z]+/?$

Демо: https://regex101.com/r/v12sWr/1

0 голосов
/ 11 января 2019

Попробуйте этот шаблон:

^\/[^\/]*\/?$

Пояснение:

  • ^: начало слова
  • \/: косая черта в начале
  • [^\/]* любое количество символов без косой черты. Если вы хотите, чтобы это были просто буквы, вы можете сделать это [a-x]*
  • \/? дополнительная косая черта
  • $ конец слова - не более символов

Вы можете попробовать это на своих примерах здесь и посмотреть пример кода здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...