我的字符串如下。
/customer/v1/123456789/account/
URL中的ID是动态的。
我要检查的是是否有该字符串,如何确定第一部分和第二部分是否与下面的结构匹配。 /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>/
,将再次有给定的端点,我需要检查给定的端点是否适合该结构。
答案 0 :(得分:0)
您可以使用正则表达式;
import re
return re.match(r'^/customer/v1/\d+/account/$', endpoint)
或者您可以检查开始和结束:
return endpoint.startswith('/customer/v1/') and endpoint.endswith('/account/')
...尽管这不会尝试验证开头和结尾之间的内容是数字。
答案 1 :(得分:0)
可以使用正则表达式解决此问题
^(/ customer / v1 /)(\ d)+(/ account /)$
如果您要指定customer_id的最小长度 (/ customer / v1 / << strong> customer_id > / account),然后使用以下正则表达式
^(/ customer / v1 /)(\ d) {5,} (/ account /)$
在这里,customer_id的长度必须至少为5位数字