Проверьте, есть ли строка в определенном формате в Python - PullRequest
0 голосов
/ 27 марта 2019

У меня есть строка, как показано ниже.

/customer/v1/123456789/account/

Идентификатор в URL является динамическим.

То, что я хочу проверить, есть ли у меня эта строка какМогу ли я быть уверен, что если первая часть и вторая часть соответствуют структуре ниже?/customer/v1/<customer_id>/account

То, что я сделал до сих пор, так это.однако я хочу проверить, полностью ли соответствуют конечные точки структуре или нет.

endpoint_structure = '/customer/v1/'
endpoint = '/customer/v1/123456789/account/'

if endpoint_structure in endpoint:
    return True
return False

Структура конечных точек также может измениться.Например: /customer/v1/<customer_id>/documents/<document_id>/ и снова будет задана конечная точка, и мне нужно проверить, соответствует ли данная конечная точка структуре.

Ответы [ 2 ]

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

Может решить эту проблему с помощью регулярного выражения

^ (/ клиент / v1 /) (\ d) + (/ счет /) $

Также, если вы хотите указать минимальную длину для customer_id (/ customer / v1 / <<strong> customer_id > / account), затем используйте следующее регулярное выражение

^ (/ клиент / v1 /) (\ d) {5} (/ счет /) $

Здесь ожидается, что customer_id должен иметь длину не менее 5 цифр

Проверьте здесь

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

Вы можете использовать регулярное выражение;

import re
return re.match(r'^/customer/v1/\d+/account/$', endpoint)

или вы можете проверить начало и конец:

return endpoint.startswith('/customer/v1/') and endpoint.endswith('/account/')

... хотя это не пытается проверить, чтоматериал между началом и концом числовой.

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